Ubuntu环境下WebLogic集群配置实操指南
一 环境准备与规划
- 主机与端口规划(示例):
- 主机A(管理节点):192.168.1.10,运行 AdminServer:7001、proxy:7003
- 主机B(受管节点):192.168.1.11,运行 node1:7005、node2:7006
- 主机C(受管节点):192.168.1.12,运行 node3:7007、node4:7008
- 软件与账号:
- 安装 JDK 8+ 并配置 JAVA_HOME;创建 weblogic 系统用户与组,使用非 root 部署与运行。
- 安装 WebLogic 12c/14c(示例以 12c 说明),设置 MW_HOME 环境变量。
- 网络与防火墙:
- 集群内服务器间需开放 UDP/TCP 多播 与实例监听端口;管理通道使用 7001/TCP。
- Ubuntu 16.04 可用 firewalld:例如开放管理端口
firewall-cmd --zone=public --add-port=7001/tcp --permanent && firewall-cmd --reload;生产环境不建议直接关闭防火墙。
二 安装WebLogic与创建域
- 安装 WebLogic(静默方式示例,12c/14c 通用):
- 准备响应文件 wls.rsp 与 oraInst.loc,执行:
java -jar fmw_12.2.1.3.0_wls.jar -silent -responseFile /opt/wls.rsp -invPtrLoc /opt/oraInst.loc
- 创建管理域(WLST 离线方式示例):
$MW_HOME/wlserver/common/bin/wlst.sh
- 在 WLST 中:
readTemplate('/opt/weblogic/Oracle/Middleware/wlserver/common/templates/wls/wls.jar')
cd('Server/AdminServer')
set('ListenAddress','') 与 set('ListenPort',7001)
cd('/Security/base_domain/User/weblogic');cmo.setPassword('YourStrongPwd!')
setOption('OverwriteDomain','true');writeDomain('/opt/weblogic/user_projects/domains/base_domain')
closeTemplate(); exit()
- 验证:
http://<管理节点IP>:7001/console 可登录控制台。
三 配置集群拓扑
- 在管理节点控制台完成:
- 创建集群:导航到“集群”,新建集群(如 my_cluster),选择 多播 或 单播 通信方式(若跨机房或云环境建议单播并配置“通信端口”)。
- 添加服务器实例:
- 在主机A创建 proxy:7003(用于HTTP代理/负载均衡);
- 在主机B创建 node1:7005、node2:7006;在主机C创建 node3:7007、node4:7008;
- 将 proxy、node1~node4 加入 my_cluster。
- 配置网络通道与监听地址:确保各实例的 ListenAddress 为实际主机IP,避免仅绑定 127.0.0.1。
- 配置代理应用:部署 WebLogic 提供的 WebLogic Server Proxy Plug-In(WAR),目标指向 my_cluster;或在前端使用 Nginx/HAProxy 做 L4/L7 负载均衡,后端指向各受管实例端口。
- 部署业务应用:在控制台将应用部署到 my_cluster(选择“集群”目标),启用 会话复制(如需有状态会话)。
四 启动顺序与验证
- 启动顺序与命令示例:
- 启动管理服务器(主机A):
$DOMAIN_HOME/startWebLogic.sh
- 启动代理服务器(主机A):
$DOMAIN_HOME/bin/startManagedWebLogic.sh proxy http://192.168.1.10:7001
- 启动受管服务器(主机B/C):
startManagedWebLogic.sh node1 http://192.168.1.10:7001
startManagedWebLogic.sh node2 http://192.168.1.10:7001
startManagedWebLogic.sh node3 http://192.168.1.10:7001
startManagedWebLogic.sh node4 http://192.168.1.10:7001
- 验证要点:
- 控制台“服务器”页:所有实例状态为 RUNNING;“集群”页:成员健康且通信正常。
- 应用访问:通过 http://<VIP或代理IP>/<应用> 验证负载均衡;会话复制可通过关闭某实例验证故障转移。
五 常见问题与优化建议
- 组播与网络:
- 若 UDP 多播 受限(云环境常见),改用 单播 并在集群配置中显式设置“通信端口”;确保各主机间 互通 且 安全组/防火墙 已放行相关端口。
- 节点管理:
- 建议在各主机部署 Node Manager,便于远程 启动/停止/监控 实例;配合脚本或 systemd 做守护与自动拉起。
- 会话与粘性:
- 有状态应用启用 会话复制(内存到内存或JDBC复制);若使用外部负载均衡,配置 会话粘性 提升体验。
- 安全加固:
- 管理端口(如 7001/TCP)限制来源IP;为管理通道启用 SSL;避免以 root 运行 WebLogic 进程。