Weblogic的负载均衡可以通过软件和硬件的方式实现。硬件可以使用F5等设备,软件一般使用apache来实现。下面说明使用apache的具体方法。
1. 环境准备
Apache 2.2 http://httpd.apache.org/download.cgi
Weblogic 9.2
三台机器,用途分别如下:
| 名称 | IP地址 | 用途 |
| machine1 | 192.168.10.100 | apache服务器 |
| machine2 | 192.168.10.101 | weblogic服务器 |
| machine3 | 192.168.10.102 | weblogic服务器 |
2. 配置weblogic
2.1 安装weblogic
在machine2,machine3上面分别安装weblogic。在machine1上安装时,注意选择要安装web server plugin。
2.2 配置weblogic
在machine2上面运行domain creation wizard,创建一个admin server和两个managed server,配置分别如下:
| 名称 | address | port |
| AdminServer | 192.168.10.101 | 7001 |
| Server1 | 192.168.10.101 | 7010 |
| Server2 | 192.168.10.102 | 7011 |
在machine2上面建立cluster,配置如下:
|
| ||
| 名称 | Multicast address | port |
| cluster_test | 237.155.155.1 | |
在machine3上面运行domain creation wizard,创建一个admin server和一个managed server,配置分别如下:
| 名称 | address | port |
| AdminServer | 192.168.10.102 | 7001 |
| Server2 |
2.3 配置weblogic.xml文件
为了支持session复制,为应用程序新建weblogic.xml文件,放置到ear文件的meta-inf目录下。内容为:
<?xml version="1.0" encoding="GBK"?>
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90">
<session-descriptor>
<persistent-store-type>replicated</persistent-store-type>
<sharing-enabled>true</sharing-enabled>
</session-descriptor>
</weblogic-web-app>
3. 配置apache
从{weblogic_home}/server/plugin/win/32 目录,复制mod_wl_22.so 到 {apache_home}/modules目录下。
修改httpd.conf文件,增加如下内容:
LoadModule weblogic_module modules/mod_wl_22.so
<IfModule mod_weblogic.c>
WeblogicCluster 192.168.10.101:7010,192.168.10.102:7011
MatchExpression *
WLLogFile "D:/Program Files/Apache Software Foundation/Apache2.2/logs/wlproxy.log"
Debug On
DebugConfigInfo On
KeepAliveEnabled On
KeepAliveSecs 15
</IfModule>
4. 部署应用程序
启动machine2上面的admin server,进入控制台,部署应用程序,注意选择target时,要指定为cluster_test。
5. 启动weblogic
5.1 启动machine2上面的admin server
在machine2机器上,运行命令{weblogic_home}/user_projects/domains/cluster_domain/bin/startWeblogic.cmd
5.2 启动machine2上面的server1
在machine2机器上,运行命令{weblogic_home}/user_projects/domains/cluster_domain/bin/startManagedWeblogic.cmd server1 192.168.10.101:7001
5.3 启动machine3上面的server2
在machine3机器上,运行命令{weblogic_home}/user_projects/domains/cluster_domain/bin/startManagedWeblogic.cmd server2 192.168.10.101:7001
6. 启动apache服务器
7. 相关约束条件
7.1 所有Managed server的绑定地址必须是静态地址,不能是动态地址
7.2 如果需要在wan上面访问,admin server所在的机器必须要有对外的IP地址
8. 问题诊断方法
- MulticastMonitor 工具
监视群内广播数据,一般用来检查群内通信是否正常。使用方法如下:
1. 运行 {weblogic_home}/user_projects/domains/{domain_name}/bin/setdomain.cmd 设置环境变量,如classpath等,
2. 运行 java weblogic.cluster.MulticastMonitor {群广播地址} {广播端口} {域名称} {集群名称}
3. 运行后可以看到群内各个managed server之间的广播数据,据此可以判断每个服务器的通信是否正常。
- MulticastTest 工具
在各个managed server之间发送数据,一般用来检查群内各个server之间通信是否正常。此命令需要在每个server所在的机器上运行。使用方法如下:
1. 运行 {weblogic_home}/user_projects/domains/{domain_name}/bin/setdomain.cmd 设置环境变量,如classpath等,
2. 运行 java utils.MulticastTest -n {消息名称} {广播地址}
每个server上运行的消息名称不能相同。
广播地址不能是已经配置了的群广播地址,即:需要另外使用一个用来测试用的广播地址。
本文介绍如何通过Apache配置WebLogic的负载均衡,并实现会话复制。包括环境搭建、WebLogic及Apache配置步骤、应用程序部署等内容。
6762

被折叠的 条评论
为什么被折叠?



