`
957803796_1
  • 浏览: 124469 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

weblogic集群配置(linux版)

 
阅读更多
Linux下Weblogic集群配置初步
域,集群,管理服务器和被管服务器之间的关系
Weblogic域是一个服务器/集群的管理组,用户可以通过某个中央位置来管理、监控整个服务器域,这个中心就是管理服务器,相对的,受控服务器或者叫被管服务器是指域中除了管理服务器以外的所有的服务器。
Weblogic集群是一个weblogic Server组,在一个集群中的服务器可以获得集群范围的命名服务、负载平衡以及容错等功能。
所以,一个weblogic域可以同时管理多个集群以及多个服务器实例。
另外,还有一个节点管理器的概念,节点管理器是指在物理的机器上运行的一个守护进程,通过它,管理服务器可以获得诸如在控制台中强制重启远程机器上的server等功能(没有节点管理器的情况下也是可以强制关闭远程服务器的,但是不能重启)。
除此之外,据说节点管理器还可以自动检查自己机器上的server实例(健康检查),当发现某个实例出现故障的时候,可以自动进行重启,这个没试过。
注意事项
1. 本文的weblogic均配置在linux环境下
2. 集群中管理服务器和被管服务器之间有用到ip组播UDP,所以这些服务器之间必须是UDP可以到达的。
3. 好像动态ip的机器不能用于集群当中
4. 最佳实践说:请不要把管理服务器设置在集群当中
5. 本文所配置的集群只是实现了web层次上的负载平衡和容错,也就是servlet和jsp,其他的j2ee组件如ejb,jdbc,jms等都可以集群化。
本例测试域的规划
Ip/port
server
注释
10.21.18.40:7001
adminServer
管理服务器
10.21.18.40:7003
mServer1
被管服务器1
10.21.18.41:7001
mServer2
被管服务器2
10.21.18.40:7004
proxyServer
代理服务器
配置过程
建立管理服务器
启动linux下的配置向导
进入bea目录下的weblogic81/common/bin目录输入./config.sh,这里使用的终端登陆,所以没有图形环境,程序会以控制台模式启动
第一步:选择建立新的域:
启动配置向导后,系统提示如下:
<------- BEA WebLogic Configuration Wizard---------->
Create or Extend a Configuration:
---------------------------------
Choose between creating and extending a configuration. Based on your selection, the Configuration Wizard guides you through
the steps to generate a new or extend an existing configuration.
->1|Create a new WebLogic configuration
| Start here to create a WebLogic configuration in your projects directory.
2|Extend an existing WebLogic configuration
| Start here to extend an existing WebLogic configuration.Use this option to add applications and services,
|including Database access (JDBC) and Messaging (JMS). This option also enables you to extend functionality by enabling
|WebLogic Workshop.
Enter index number to select OR [Exit][Next]>1
录入1回车,建立一个新的域。
第二步:选择模版
系统提示选择一个建立域的模版,资料上讲配置向导的配置过程可以另存为模版,以便下次配置的时候使用,没试过下次回去试试。
<-------- BEA WebLogic Configuration Wizard -------->
Select a Domain Template:
-------------------------
Please select a template from the list or select another directory of templates.
* [/usr/local/bea/weblogic81/common/templates/domains]
->1|Basic WebLogic Server Domain 8.1.4.0
|BEA Systems, Inc.
|Create a basic WebLogic Server domain without installing sample applications.
2|WebLogic Server Examples Domain 8.1.4.0
|BEA Systems, Inc.
|Create the WebLogic Server Examples domain in a directory outside of the installed kit.The Examples domain contains |a collection of examples to show best practices for coding individual J2EE APIs.
3|Avitek Medical Records Sample Domain 8.1.4.0
|BEA Systems, Inc.
|Create the Avitek Medical Records domain in a directory outside of the installed kit.The Avitek Medical Records is
|a WebLogic Server sample application suite that concisely demonstrates all aspects of the J2EE platform.
4|Select another directory location
Enter index number to select OR [Exit][Previous][Next]> 1
这里我们选择1,使用基础的模版
第三步:是否以快速模式进行
第三步系统提示是否以快速模式进行配置,这里选择2。
<--------- BEA WebLogic Configuration Wizard ----------->
Choose Configuration Option:
----------------------------
*Do you want to run the wizard in express mode?
->1|Yes
2|No
Enter index number to select OR [Exit][Previous][Next]> 2
第四步:配置管理服务器
现在系统提示我们配置管理服务器,把管理服务器的名字改一下,改成adminServer就可以了。
<------- BEA WebLogic Configuration Wizard -------->
Configure the Administration Server:
------------------------------------
Enter adminstration server configurations. Each WebLogic Server domain must have one Administration Server. The
Administration Server hosts the Administration Console which is used to perform administrative tasks.
| Name | Value |
_|__________________|_____________________|
1| *Name: | myserver |
2| Listen address:| All Local Addresses |
3| Listen port: | 7001 |
4| SSL listen port: | N/A |
5| SSL enabled: | false |
Select Option:
1 - Modify "Name"
2 - Modify "Listen address"
3 - Modify "Listen port"
4 - Modify "SSL enabled"
Enter option number to select OR [Exit][Previous][Next]> 1
输入1之后,根据系统提示输入新的管理服务器的名称adminServer
第五步:配置被管服务器
根据下面系统的提示,配置被管服务器
<--------- BEA WebLogic Configuration Wizard ---------->
Configure Managed Servers:
--------------------------
Add or delete configuration information for managed servers. A typical production environment has one or more managed
servers. Each managed server is an instance of WebLogic Server used to host enterprise applications.
| Name* | Listen address | Listen port | SSL listen port | SSL enabled |
_|_______|________________|_____________|_________________|_____________|
Enter name for a new Server OR [Exit][Previous][Next]> mServer1
被管服务器我们设置两个:mServer1和mServer2,mServer1和管理服务器在一台机器上,所以端口设置为7003避免和管理服务器冲突。
mServer2的监听地址一定要设置成ip,否则在启动被管服务器2的时候会得到这样一个错误:using the same address as the admin server(这个错挺傻的我觉得),如果是实际的集群配置的话,这里建议都写成ip的形式。
配置完成的画面如下:
|Name* |Listen address | Listen port | SSL listen port | SSL enabled |
_|_________|___________________|_____________|_________________|_____________|
1| mServer1| 10.21.18.41 | 7003 | N/A | false |
->2|mServer2|10.21.18.41 | 7001 | N/A | false |
第六步:配置集群
<----BEA WebLogic Configuration Wizard ------>
Configure Clusters:
-------------------
A cluster contains multiple WebLogic Server instances (servers) that run simultaneously and work together to provide
increased scalability and reliability.A cluster appears to be a single WebLogic Server instance to clients.
| Name* | Multicast address | Multicast port | Cluster address |
_|_______|___________________|________________|_________________|
Enter name for a new Cluster OR [Exit][Previous][Next]> testCluster
输入集群的名字testCluster,其他的默认就行了,配置完成后如下:
| Name* | Multicast address | Multicast port | Cluster address |
_|_____________|___________________|________________|_________________|
->1| testCluster | 237.0.0.1 | 7001 | |
第七步:将服务器组织到集群中
根据系统的提示,将mServer1和mServer2放入集群testCluster中去,配置完成后如下:
Cluster
|_____testCluster [1]
|_____mServer1
|_____mServer2
第八步:配置机器、jdbc、jms、安全等
接下来几步系统提示配置Machines,jdbc,jms,安全,这里都不用配置,全部回车就行了。
第九步:输入管理服务器的用户名和密码
系统提示如下画面,可以配置管理服务器的用户名和密码:
| Name | Value |
_|_________________________|_________________________________|
1| *User name: | weblogic |
2| *User password: | |
3| *Confirm user password: | |
4| Description: | The default administration user |
第十步:选择启动模式,jdk和存放目录
启动模式,jdk和域文件存放目录的设置比较简单,根据大家的爱好设置就行了。
这里启动模式选择生产开发模式,jdk使用jRockit,存放目录默认。
十一步:配置域名称
Edit Domain Information:
------------------------
|Name|Value |
_|________|__________|
1| *Name: | mydomain |
Enter value for "Name" OR [Exit][Previous][Next]> testDomain
设置域的名称为testDomain。
十二步:域建立结束
以上步骤都完成后,系统会自动建立这个域,并会生成一些文件等等,完成的界面如下:
<----- BEA WebLogic Configuration Wizard --------->
Creating Domain...
0% 25% 50% 75% 100%
[------------|------------|------------|------------]
[***************************************************]
**** Domain Created Successfully! ****
启动管理服务器
进入bea/user_projects/domains/testDomain/目录
键入./startWebLogic.sh
建立被管服务器1
这里的被管服务器1也就是mServer1是和管理服务器在同一台机器上的,这里我试过了,我们不需要再进行什么配置,只需要启动它就行了,启动被管服务器1的命令如下:
进入bea/user_projects/domains/testDomain/目录
键入./startManagedWebLogic.sh mServer1 http://10.21.18.40:7001
这样的写法保证了被管服务器在启动的时候向管理服务器报告,后面的这个地址就是管理服务器的地址了
当然,由于是在同一台机器上,所以你完全可以这样写:./startManagedWebLogic.sh mServer1就可以了。
建立被管服务器2
被管服务器2和管理服务器在不同的机器上,所以你还需要在这台机器上配置一个域,域的名字要和刚才建立的域名字一致(不一致会怎么样我也没试过,谁有时间试一下:>)
建立域的过程前三步和上面讲的一样
第四步,配置管理服务器的时候,请把这个域的管理服务器的名字设置为mServer2。
这里需要解释一下,在每台机器上建立域的时候都需要有一个管理服务器,以确保整个域的管理服务器当掉的时候,每台机器自己都是还可以运行的,这里我们是把mServer2作为了41这台机器的管理服务器,同时它也是adminServer的被管理服务器。
从第五步开始,都不需要配置,直接回车就可以了。
配置完成后,用下面的命令启动mServer2:
./startManagedWebLogic.sh mServer2 http://10.21.18.40:7001
小结
到目前为止,一个包含一个管理服务器和2个被管服务器以及一个cluster的域就配置完成了,你可以简单试验一下它提供的功能,打开管理服务器的管理控制台:
首先,在这个管理控制台上你可以监控和管理mServer1和mServer2,选择mServer2
进入Monitoring页面General子页面,如果显示如下,就说明配置是正确的了:
进入Monitoring页面的Performance子页面,就可以看到mServer2的运行情况了。
将一个web应用上传上去,将其部署在testCluster这个集群上
部署成功后,分别在mServer1和mServer2上访问刚才部署的web应用,应该都是可以访问的。
建立代理服务器
建立了集群以后,集群的负载平衡功能还需要代理(proxy)来实现。目前我所知道的Weblogic支持几种类型的代理:
Ø HttpClusterServlet的代理,这个代理是weblogic公司编写的一个servlet,把它部署在一个weblogic服务实例上,就可以实现负载平衡和容错了。
Ø IIS 代理,用IIS作为前段的http的代理,需要往IIS中装一个插件
Ø Netscape/iPlanet代理,需要装插件
Ø Apache代理,用Apache作为http代理,需要装插件。推荐使用
当然,实际应用中可能更加复杂,可能会这样:

Client
硬件负载平衡器
Web服务器/WLS插件
Weblogic Server
Web服务器/WLS插件
Web服务器/WLS插件
Weblogic Server
Weblogic Server
集群
防火墙
防火墙
数据库

使用HttpClusterServlet作为代理
建立代理服务器实例
代理服务器proxyServer实例实际上和mServer1一样,都是属于testDomain域的一个被管服务器,回头看建立管理服务器的第五步,在那个时候配置被管服务器的时候如果也把proxyServer加上的话,现在直接启动就可以了。
当然也可以在管理服务器的管理控制台上新建这个server。
在管理服务器的控制台上,左边的菜单中Server上单击左键,选择“新建一个Server”
然后,在出现的页面中设置这个server的名字为proxyServer,监听端口为7004,如图:
点击应用,这个服务就配置完成了。
配置结束后,在后台使用./startManagedWebLogic.sh proxyServer来启动代理服务器。
部署代理webapp
建立一个标准的web应用,这个应用里面什么也不用有,只需要配置web.xml和weblogic.xml就可以了。web.xml和weblogic.xml代码如下:
web.xml
<!-- DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.
//DTD Web Application 1.2//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd"
-->
<web-app>
<servlet>
<servlet-name>HttpClusterServlet</servlet-name>
<servlet-class>
weblogic.servlet.internal.HttpClusterServlet
</servlet-class>
<init-param>
<param-name>defaultServers</param-name>
<param-value>
10.21.18.40:7003|10.21.18.41:7001
</param-value>
</init-param>
<init-param>
<param-name>DebugConfigInfo</param-name>
<param-value>ON</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
</web-app>
weblogic.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 6.1//EN" "http://www.bea.com/servers/wls610/dtd/weblogic-web-jar.dtd">
<weblogic-web-app>
<context-root>/</context-root>
</weblogic-web-app>
将这个应用打包成war文件,上传到管理服务器上,然后部署在proxyServer上面。
部署成功后的页面:
测试
打开一个浏览器,在其中输入:
http://10.21.18.40:7004/abc.jsp? __WebLogicBridgeConfig
jsp的名字随便输入可以了,如果看到如下页面,就说明配置成功了:
然后再做一个web应用,里面放两个servlet,jsp啥的,部署在集群上面,比如说部署成功了以后应用叫做testApp,其中有一个页面叫index.jsp
键入如下的地址:
应该都是可以运行的,请注意第一、二个地址是单独访问集群中的机器的,而第三个地址是通过了代理的。
你可以做一个这样的测试,在index.jsp里面写一句System.out.println(“ok!!!”);
然后再http://10.21.18.40:7004/testApp/index.jsp这个地址上多刷几次,到mServer1和mServer2的控制台去看的话应该两边都有输出。
使用apache作为代理
安装代理插件
在weblogic安装目录下面,找到bea/weblogic81/server/bin目录,下面有两个文件:
mod_wl_20.so
mod_wl128_20.so
分别是对应不同版本的apache,这里用来测试的是2.0版的apache,所以使用了第一个文件。
安装过程如下:
Ø 把mod_wl_20.so这个文件copy到apache安装目录下的modules目录中
Ø 在apache的httpd.conf文件中,加入这样一句:
LoadModule weblogic_module modules/mod_wl_20.so
表示在启动apache的时候加载weblogic的插件
Ø 在apache的httpd.conf文件中,加入如下代码:
<IfModule mod_weblogic.c>
WebLogicCluster 61.152.114.141:7003,61.152.114.142:7001
MatchExpression *.jsp
MatchExpression *.do
</IfModule>
第一行表示集群的各个成员地址
下面几行可以写出要代理的url后缀。
注:如果weblogic这边没有集群,只有一台机器的话,也是可以配置apache插件的,这样写:
测试
启动apache,访问http://apachehost:part/testApp/index.jsp应该可以看到正确的响应。其中apachehost和part视apache的配置而定。
使用iis作为代理
安装插件
IIS的weblogic插件安装非常的简单:
Ø 找到bea/weblogic81/server/bin目录下的iisproxy.dll,拷贝到一个IIS能够访问到的目录,比如WINNT/system32/inetsrv/
Ø 建立两个文本文件:iisproxy.ini和iisproxy.log
Ø 右键单击某个站点,打开属性页面
Ø 点击下面的配置,界面如下:
Ø 点击添加,在其中可执行文件选择iisproxy.dll,扩展名录入*.jsp,如图:
Ø 配置完毕后启动iis的这个站点
测试
访问http://iishost:part/testApp/index.jsp应该可以看到正确的响应。其中iishost和part视IIS的配置而定。
简单测试
想要进行一些性能方面的测试,可以使用apache带的apacheBench工具,这个工具在apache安装目录下的bin目录下有(ab.sh),用法如下:
ab –c 200 –n 60 url
含义是请求url这个地址200次,60次的并发。
以下是我做的一些简单测试的结果的一部分:
单独访问集群中一台机器的时候:
Percentage of the requests served within a certain time (ms)
50%13734
66%17046
75%33234
80%34000
90%34343
95%34437
98%34515
99%34515
100%34546 (longest request)
使用HttpClusterServlet代理访问集群的情况:
Percentage of the requests served within a certain time (ms)
50%18234
66%19187
75%19718
80%19921
90%21296
95%22203
98%22593
99%22640
100%22703 (longest request)
使用apache代理访问集群的情况:
Percentage of the requests served within a certain time (ms)
50% 2000
66% 2578
75% 3421
80% 3421
90% 3625
95% 3640
98% 3640
99% 3640
100% 3656 (longest request)
使用iis代理访问集群的时候:
出错,200次请求当中有190次失败:(
可能是因为iis在我的机器上的原因
另外,在测试的时候检测mServer1和mServer2的吞吐量(Throughput),也是在使用apache的时候最高。大家也可以多做一些各个方面的测试,很有意思的。
分享到:
评论

相关推荐

    Linux环境WebLogic集群简单配置

    【Linux环境WebLogic集群配置详解】 在Linux操作系统中配置WebLogic集群是一项关键任务,它涉及到分布式系统的高可用性和性能优化。WebLogic Server是一款由Oracle公司提供的企业级Java应用服务器,常用于部署和...

    Linux环境Weblogic集群配置,Weblogic JMS集群配置

    本教程将深入探讨如何在Linux环境下配置Weblogic集群以及Weblogic JMS集群,这对于提高应用程序的可用性和可扩展性至关重要。 首先,让我们了解一下Weblogic集群的基本概念。Weblogic集群是指一组独立的Weblogic...

    Linux下配置Weblogic集群.pdf

    Linux下配置Weblogic集群 本文档主要讲解了如何在Linux系统下配置Weblogic集群,包括集群的概念、域的概念、管理服务器、受管服务器、代理、机器等相关概念的解释,以及实际操作步骤的详细指导。 一、集群概念 在...

    WebLogic集群配置V20181114.docx

    WebLogic集群配置是大型企业级应用中间件服务的关键步骤,特别是在处理高并发、大数据量的业务场景时。本文将详细阐述WebLogic服务器集群部署的过程,包括环境配置、JDK安装、WebLogic安装以及集群配置等多个环节。 ...

    linux下weblogic集群配置初步.pdf

    Linux 下 Weblogic 集群配置初步 Linux 下 Weblogic 集群配置是指在 Linux 操作系统环境下配置 Weblogic 集群,以实现服务器的高可用性和负载平衡。本文将详细介绍 Weblogic 域、集群、管理服务器和被管服务器之间...

    weblogic集群安装配置手册.docx

    WebLogic集群安装配置手册主要涵盖了在Linux环境下搭建WebLogic集群的详细步骤,旨在为IT同行提供一个简单易懂的安装指南。以下是对整个过程的详细解释: 1. **WebLogic域创建及配置** - **进入域配置目录**:首先...

    weblogic集群配置方法-具体实施步骤

    WebLogic集群是Oracle WebLogic Server的一种高级特性,它允许你将多个服务器实例组合在一起,以...文档"weblogic集群配置方法-具体实施步骤1.doc"可能包含了更详细的操作指南和最佳实践,建议详细阅读以获取更多信息。

    Linux下Weblogic9集群配置

    Weblogic 9在Linux下的集群配置是一项关键任务,它涉及到系统的稳定运行和高效服务。本篇将详细介绍如何在Linux环境下配置Weblogic 9的集群。 首先,集群配置的主要目的是为了实现更强的安全控制和多层结构的分布式...

    WebLogic 集群中SSL 配置说明

    ### WebLogic 集群中SSL配置详解 #### 前言 随着互联网技术的发展,安全问题变得尤为重要。为了确保数据传输的安全性,许多企业采用了SSL(Secure Sockets Layer)加密技术来保护其Web应用程序。Oracle WebLogic ...

    linux下weblogic集群部署

    在Linux环境下部署WebLogic集群是一项关键的任务,它涉及到服务器的配置、JDK的安装、WebLogic Server的安装以及集群的创建和管理。以下是一份详尽的步骤指南: 首先,确保系统环境满足WebLogic Server的运行需求。...

    Linux下11Weblogic集群配置.docx

    Linux下11Weblogic集群配置.docx

    Linux下11Weblogic集群配置.pdf

    Linux下11Weblogic集群配置.pdf

    linux + weblogic10.3.6 集群部署及配置

    - **域、Server和集群配置**:根据提示创建域(例如`wssb_domain`)、选择运行模式(生产模式)、配置管理服务器(默认端口7001)和受管理服务器。为每个服务器指定监听地址和端口。 集群部署的关键在于正确配置...

    weblogic的集群与配置图文方法

    本文主要介绍WebLogic集群的概念、配置过程和管理方法,希望能为需要了解或实施WebLogic集群的朋友们提供图文并茂的实用指南。 一、WebLogic集群概念及区别 WebLogic集群主要通过多个服务器实例共同工作,来提供...

    Weblogic10.3 集群配置手册

    ### Weblogic 10.3 集群配置详解 #### 一、预备知识 **1.1 何为 Domain 和 Server** - **Domain**:WebLogic Server 的基本管理单元,一个 Domain 包含了一个或多个 WebLogic Server 实例,其中至少包含一个管理...

    Weblogic 10集群配置手册

    ### Weblogic 10集群配置详解 #### 一、预备知识 **Domain与Server概念解析** 在WebLogic Server中,Domain被定义为基本管理单元,它由一个或多个WebLogic Server实例组成,其中至少包含一个作为管理员Server的...

    weblogic集群配置与部署

    【WebLogic集群配置与部署详解】 WebLogic集群配置与部署是一项关键任务,尤其对于构建高可用性和可扩展性的企业级Java应用系统。BEA WebLogic是Oracle公司开发的一款强大的Java应用服务器,它提供了全面的解决方案...

Global site tag (gtag.js) - Google Analytics