资源描述
配置WebLogic Server 9.2集群
(本文讲述如何在WebLogic Server 9.2上配置集群,以及通过Proxy Server来访问集群)
预备知识
什么是Domain和Server
Domain
Domain是WebLogic Server实例的基本管理单元。所谓Domain就是,由配置为Administrator Server的WebLogic Server实例管理的逻辑单元,这个单元是有所有相关资源的集合。
Server
Server是一个相对独立的,为实现某些特定功能而结合在一起的单元。
Domain and Server的关系
一个Domain 可以包含一个或多个WebLogic Server实例,甚至是Server集群。一个Domain中有一个且只能有一个Server 担任管理Server的功能,其它的Server具体实现一个特定的逻辑功能。
本文环境
Ø 平台:Windows 2003
Ø 软件:WebLogic Server 9.2
配置WebLogic Server集群
WebLogic集群的体系结构
单层混合型的集群架构(Cluster)
这种架构将所有的Web应用以及相关的服务应用全部置于集群中的单一WLS实例中,这种架构的优势在于:
Ø 易于管理
Ø 灵活的负载平衡机制
Ø 更强的安全控制
多层结构的集群架构(Cluster)
这种架构使用两个WLS集群,一个放置表静态内容和集群Servlet,另一个放置集群EJB。一般应用于下面这些情况:
Ø 在负载平衡机制需要调用集群EJB中的方法时;
Ø 在提供内容与提供对象的服务之间需要更大的机动性时;
Ø 在需要更高的系统稳定性时;
配置集群应用的必要条件
Ø 集群中的所有Server必须位于同一网段,并且必须是IP广播(UDP)可到达的
Ø 集群中的所有Server必须使用相同的版本,包括Service Pack
Ø 集群中的Server必须使用永久的静态IP地址。动态IP地址分配不能用于集群环境。如果服务器位于防火墙后面,而客户机位于防火墙外面,那么服务器必须有公共的静态IP地址,只有这样,客户端才能访问服务器
Ø 要以CLUSTER方式运行,必须有包含CLUSTER许可的LICENSE才行(从Bea网站上下载的试用版本就可以进行Cluster配置)
配置前的准备工作
在配置集群应用前要对集群的配置信息有一个良好的设计,下面就是我们这次配置的集群信息:
在同一台机器上配置集群(在一台机上安装一套Weblogic 9.2产品就可以了)
机器类型
操作系统
硬件配置
角色
备注
DELL PC
Windows Server 2003
IP:192.168.1.231PORT:7001
Administrator Server
管理服务器
DELL PC
Windows Server 2003
IP: 192.168.1.23 PORT:8080
Proxy Server
代理服务器
DELL PC
Windows Server 2003
IP:192.168.1.231PORT:7082
Managed Server
受管理服务器
DELL PC
Windows Server 2003
IP:192.168.1.231PORT:7084
Managed Server
受管理服务器
DELL PC
Windows Server 2003
IP:192.168.1.231PORT:7086
Managed Server
受管理服务器
使用Domain Configuration Wizard进行配置
创建新的Domain
选择“Toolà Configuration Wizard”,单击“下一步”按钮
选择安装域源
选择安装“WebLogic Server”,单击“下一步”按钮
配置管理员用户名和密码
输入Weblogic管理员管理服务器(AdminServer)的用户名和密码,在此以“weblogic”作用登录管理服务器的用户名和密码,单击“下一步”按钮
配置域启动模式和JDK
选择“生产模式”和“JRockt SDK”后,单击“下一步”按钮
选择是否自定义环境和服务设置
选择“是”后,单击“下一步”按钮
配置管理服务器
输入Administrator Server的名称,监听地址,监听端口,如果需要SSL支持的话可以在“SSL enabled”后面的复选取框上打勾,配置SSL监听端口,单击“下一步”按钮
配置受管理服务器(代理服务器实际上也是一个受管理服务器)
输入Managed Server的名称,监听地址,监听端口,如果需要SSL支持的话,可以在“SSL enabled”复选框上打勾,配置SSL监听端口。可以配置多个Managed Server。单击“下一步”按钮
配置群集信息
单击“切换显示”,再单击“添加”,输入Cluster的名称,Multicast address组播地址(这个做什么用暂不明白),Cluster的组播地址和端口,Cluster地址可输可不输。单击“下一步”按钮
将“受管理服务器”添加到“集群”中
选择左面列表中的Managed Server,将其添加到右面的列表中,这里代理服务器不要添加到右边,单击“下一步”按钮
创建HTTP代理应用程序
选中“为群集创建Http代理”,myCluster代理服务器选择前面没有加入myCluster的ProxyServer,单击“下一步”按钮
配置计算机
在此不对计算机进行配置,单击“下一步”按钮
检查Weblogic域
在此检查前面所做的配置,如果没有问题单击“下一步”按钮
创建Weblogic域
输入要创建的域名和位置,此处域名可输入为Clust_domain,输入完成后单击“创建”按钮
正在创建域
创建无误后,单击“完成”按钮
编辑启动WebLogic服务文件
Ø 编辑口令文件
在刚才创建的域目录下建立boot.properties文件,内容为:
username=weblogic
password=weblogic
Ø 编辑启动管理服务器的文件
在刚才创建的域目录下的bin目录中创建startAdminServer.cmd,内容为:
@ECHO OFF
@REM 启动管理服务器.
start .\startWebLogic
Ø 编辑启动代理服务器的文件
在刚才创建的域目录下的bin目录中创建startProxyServer.cmd,内容为:
@ECHO OFF
@REM 启动代理服务器.
@REM 使用startManagedWebL命令启动Managed Server,它的命令格式是:
@REM startManagedWebL.cmd Managed Server的名称 Administrator Server地址
@REM startManagedWebL 受管理服务器名称 管理服务器URL
start .\startManagedWebL ProxyServer http://192.168.1.231:7001
Ø 编辑启动受管理服务器(ManagedServer_1)的文件
在刚才创建的域目录下的bin目录中创建startManagedServer_1.cmd,内容为:
@ECHO OFF
@REM 启动受管理服务器ManagedServer_1.
@REM 启动Managed Server
@REM 使用startManagedWebL命令启动Managed Server,它的命令格式是:
@REM startManagedWebL.cmd Managed Server的名称 Administrator Server地址
@REM startManagedWebL 受管理服务器名称 管理服务器URL
start .\startManagedWebL ManagedServer_1 http://192.168.1.231:7001
Ø 编辑启动代理服务器(ManagedServer_2)的文件
在刚才创建的域目录下的bin目录中创建startManagedServer_2.cmd,内容为:
@ECHO OFF
@REM 启动受管理服务器ManagedServer_2.
@REM 启动Managed Server
@REM 使用startManagedWebL命令启动Managed Server,它的命令格式是:
@REM startManagedWebL.cmd Managed Server的名称 Administrator Server地址
@REM startManagedWebL 受管理服务器名称 管理服务器URL
start .\startManagedWebL ManagedServer_2 http://192.168.1.231:7001
Ø 编辑启动代理服务器(ManagedServer_3)的文件
在刚才创建的域目录下的bin目录中创建startManagedServer_3.cmd,内容为:
@ECHO OFF
@REM 启动受管理服务器ManagedServer_3.
@REM 启动Managed Server
@REM 使用startManagedWebL命令启动Managed Server,它的命令格式是:
@REM startManagedWebL.cmd Managed Server的名称 Administrator Server地址
@REM startManagedWebL 受管理服务器名称 管理服务器URL
start .\startManagedWebL ManagedServer_3 http://192.168.1.231:7001
(注:使用startManagedWebL命令启动Managed Server,它的命令格式是:
startManagedWebL.cmd Managed Server的名称 Administrator Server地址)
启动WebLogic服务
Ø 双击“startAdminServer.cmd”启动管理服务器
Ø 双击“startProxyServer.cmd”启动代理服务器
Ø 双击“startManagedServer_1.cmd”启动受管理服务器1
Ø 双击“startManagedServer_2.cmd”启动受管理服务器2
Ø 双击“startManagedServer_3.cmd”启动受管理服务器3
部署WEB应用
进入Console控制台(http://90.0.12.7001/console)。
进入console控制台后,在左边域结构树中点击“环境”前的“+”,
在展开的菜单中点击“服务器”,在右边的列表中可以看到各服务器是否正常启动。
如果正常启动则单击“部署”,再单击“锁定编辑”,再单击“安装”,选择要部署的WEB应用程序
完成后,单击“下一步”,再单击“下一步”,
选择群集“myCluster”,再选择“群集中的所有服务器”,之后单击“下一步”,再单击“下一步”,再单击“完成”。再单击左上角的“激活更改”。
启动WEB应用
进入Console控制台(http://90.0.12.7001/console)。
进入console控制台后,点击“部署”
选中列表中的应用,然后选择“为所有请求提供服务”,再单击“是”。
看到状态是“活动”就表示WEB应用启动完成。
测试集群的分发功能
编写测试WEB应用并部署
我们来编写一个简单的WEB应用,它会在控制台和浏览器上同时打印出“OK”字样,然后将这个WEB应用部署到集群中所有Managed Server上面。(代码见附件)
在这里我们将通过Apache中所带的ab包来进行并发访问的模拟测试,使用如下的命令就可以完成压力测试。
ab –n 100 –c 10 http://192.168.1.231:8080/index.jsp
ab是测试程序的名称
参数n代表请求的总数量
参数c代表并发的请求数
url为要测试压力的页面
注:使用这个命令时,一定要在系统路径中能够找到该程序,否则不能执行。
压力测试完成后,我们从Managed Server的控制台上可以看到,ManagedServer_1,ManagedServer_2,ManagedServer_3都打印出了“OK”字样,这说明,在并发请求的情况下,集群能够将请求进行分发,以达到负载平衡的目的。
Session共享问题解决
编辑Weblogic.xml配置文件放到WEB应用程序的WEB-INF目录下,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wls=" xsi:schemaLocation="
<session-descriptor>
<persistent-store-type>replicated</persistent-store-type>
<sharing-enabled>true</sharing-enabled>
</session-descriptor>
<wls:context-root>/</wls:context-root>
</wls:weblogic-web-app>
集群配置中要注意的问题
Ø Admin Server只用于集群的管理,而不能参与集群事务。
Ø Web应用应该部署到集群上,文件的同步是由WebLogic来完成的。
附录
Weblogic Server 9.2文档
dev2dev在线
· 《配置WebLogic Server集群》附件 - DefaultWebApp.rar
· 《配置WebLogic Server集群》附件 - 压力测试软件
展开阅读全文