1. 简介
本文讲述如何配置Weblogic的集群。配置集群后可以在一个Weblogic页面控制台管理所有服务节点,并且可以统一部署项目。不包括请求分发功能,如果需要做前端代理,请集合软、硬件使用。(Nginx、Apache、F5等都可以做请求分发)
2. 环境说明
2.1. 服务器列表
此次配置过程使用的硬件环境如下:
服务器 | Weblogic域 | IP地址 | 系统 |
管理、部署服务器 | test.com | 192.168.1.51 | CentOS5.6 |
应用服务器A | 192.168.1.52 | CentOS5.6 | |
应用服务器B | 192.168.1.53 | CentOS5.6 |
2.2. 软件环境
所有服务器都是相同的软件环境,Weblogic版本: 10.3.4;Weblogic目录:/app/wls103
3. 配置过程
3.1. 创建域
做Weblogic集群时,为每台服务器建立的域名称必须相同,本例中使用“test.com”。下面我们分别在三台服务器上创建Weblogic域,注意要使用相同的域名称:
一、管理、部署服务器(192.168.1.51):
1. 域名称:test.com
2. 登录名:weblogic1
3. 登录密码:weblogic1
4. 域路径:/app/wls103/user_projects/domains/test.com/
5. 配置一个Weblogic服务器AdminServer(监听端口:7001),用来管理集群中的应用服务器:
二、应用服务器A(192.168.1.52):
1. 域名称:test.com
2. 登录名:weblogic2
3. 登录密码:weblogic2
4. 域路径:/app/wls103/user_projects/domains/test.com/
PS: 只需要建立域,域的名称应该与管理服务器中相同(test.com)。不需要配置服务
三、应用服务器B(192.168.1.53):
1. 域名称:test.com
2. 登录名:weblogic3
3. 登录密码:weblogic3
4. 域路径:/app/wls103/user_projects/domains/test.com/
PS只需要建立域,域的名称应该与管理服务器中相同(test.com)。不需要配置服务
3.2. 修改启动参数
Weblogic管理服务器与集群中的受管服务器之间通信使用5556端口,并且要用握手验证彼此的身份,但103版本的Weblogic有个Bug,验证时发送的IP地址为localhost.domain。为了避免这个问题,我们需要在管理服务器(1.51)及所有受管服务器(1.52、1.53)中添加启动参数,让系统验证时不对比hostname。
一、修改管理服务器(1.51)的启动参数:
打开/app/wls103/user_projects/domains/test.com/bin/startWebLogic.sh,添加
JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.security.SSL.ignoreHostnameVerification=true"
图中第97行是新添加的内容。
二、修改所有受管服务器(1.52、1.53)的启动参数:
打开/app/wls103/wlserver_10.3/server/bin/startNodeManager.sh,添加
JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.nodemanager.sslHostNameVerificationEnabled=false"
图中第82行是新添加的内容。
3.3. 启动管理服务
启动管理服务器(1.51),执行/app/wls103/user_projects/domains/test.com/startWebLogic.sh
3.4. 注册受管服务
在每台受管服务器上(1.52、1.53)都要做以下步骤,用来将该节点注册到管理服务器上。
一、执行/app/wls103/wlserver_10.3/common/bin/wlst.sh,该脚步执行后会出现下面的提示:
wls:/offline>
二、输入: “connect()”,并根据系统提示输入管理服务器的用户名weblogic1、密码weblogic1、地址t3://192.168.1.51:7001,之后本系统会自动连接到管理服务器(此时要确保管理服务器上的服务已经运行,见3.3)
三、执行:
nmEnroll('/app/wls103/wlserver_10.3/common/nodemanager')
nmEnroll('/app/wls103/user_projects/domains/test.com')
四、执行成功后,按Ctrl+C结束当前配置模式。
3.5. 启动受管服务NodeManager
在每台受管服务器上(1.52、1.53),执行:/app/wls103/wlserver_10.3/server/bin/startNodeManager.sh。
3.6. 配置集群
首先登录192.168.1.51:7001/console/,用户名密码:weblogic1/weblogic1。
3.6.1. 创建受管“计算机”
为每台受管服务器建立一个计算机节点,步骤如下:
点击“test.com>环境>计算机”
右侧出现维护“计算机”的界面,将受管服务器添加到该列表中。
点击“新建”,填写信息,保存。
用同样的方式创建其它受管服务器。
创建完所有受管计算机后:
3.6.2. 创建服务器
为每个受管服务器建立“Weblogic服务器”
点击“test.com>环境>服务器”
右侧出现维护“计算机”的界面,将受管服务器添加到该列表中。
点击“新建”,填写信息,保存。
创建完所有受管服务器后:
3.6.3. 创建集群
为每个受管服务器建立“Weblogic服务器”
点击“test.com>环境>服务器”
右侧出现维护“计算机”的界面,将受管服务器添加到该列表中。
点击“新建”,填写信息:
建立集群后:
3.6.4. 建立各节点之间的关系
打开受管服务列表:
其中“Server-52”和“Server-53”为受管服务器,点击名称进入修改界面:
修改对应的“计算机”和“集群”属性。如下:
PS:每次修改后记得保存!
3.7. 启动所有受管服务器
打开服务列表点击Server-52(环境>>服务器>>Server-52):
点击上面标签页的“控制”后,在下方会显示服务器,选中服务器,点击启动:
出现页面消息:
服务启动需要几分钟时间。
用以上步骤启动其它受管服务器,服务器启动后状态为“RUNNING”。
3.8. 部署项目&测试
一、在服务器上建立文件夹:/app/wls103/webapps
二、将Web项目部署文件夹(或War包)上传到/app/wls103/webapps目录中,此处我使用的是sess项目部署。
三、在管理服务器控制台部署过程如下:
点击“安装”
然后是各种“下一步”或“完成”,部署就OK了。
选中刚刚部署好的项目sess,点击“启动”>>“为所有请求提供服务”。
几秒钟后,页面上面会给出消息:已经将启动请求发送到了所选部署。
至此,集群的配置、部署工作都已经OK。测试一下吧。
打开受管服务器列表,查看服务器状态,当服务器的状态为“RUNNING”时,表示服务器已经启动。可以使用浏览器测试一下了。
测试结果: