Linux WebLogic集群搭建方法
导读:Linux WebLogic 集群搭建方法 一 架构与准备 架构建议:至少准备2台Linux主机(例如:server1、server2),其中一台部署AdminServer,两台分别部署受管服务器(Managed Server)加入同一集...
Linux WebLogic 集群搭建方法
一 架构与准备
- 架构建议:至少准备2台Linux主机(例如:server1、server2),其中一台部署AdminServer,两台分别部署受管服务器(Managed Server)加入同一集群(Cluster);前端使用HTTP 代理/负载均衡器(如 Nginx、硬件 F5、Apache httpd mod_proxy_balancer)分发到受管服务器。
- 软件与版本:各节点安装相同版本的 JDK 与 WebLogic;本文示例以 JDK 8 与 WebLogic 12c/14c 通用流程为例。
- 系统与安全:创建非 root 运维用户(如 weblogic),统一 UID/GID;规划目录(如 /app/weblogic),配置 /etc/hosts 解析;开放必要端口(如 7001/7002/5556 等),或临时在测试环境关闭防火墙以便联调。
- 时间同步:建议启用 NTP,避免节点时间漂移影响集群通信与日志排查。
- 共享资源:若使用文件型 JMS 存储或共享部署,准备 NAS/SAN 或等效共享存储并在各节点挂载一致路径。
二 安装 WebLogic 与创建域
- 安装 JDK(两台机器一致)
- 示例(JDK 8):
- 解压:
tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/local/ - 环境变量:
echo 'export JAVA_HOME=/usr/local/jdk1.8.0_221' > > /etc/profile; echo 'export PATH=$JAVA_HOME/bin:$PATH' > > /etc/profile; source /etc/profile - 验证:
java -version
- 解压:
- 示例(JDK 8):
- 安装 WebLogic(静默安装示例)
- 创建用户与目录:
useradd -m -s /bin/bash weblogic; mkdir -p /app/weblogic; chown -R weblogic:weblogic /app/weblogic - 上传安装包(如 wls_12.2.1.4.0_wls_generic.jar)到 /app/weblogic
- 静默安装(示例响应文件与清单路径按实际准备):
cd /app/weblogicjava -jar wls_12.2.1.4.0_wls_generic.jar -silent -responseFile /app/weblogic/response/config.rsp -invPtrLoc /app/weblogic/response/inventory/inventory.xml
- 创建用户与目录:
- 创建域(建议使用 WLST 脚本化,便于复用与版本控制)
- 启动 WLST:
$WL_HOME/common/bin/wlst.sh - 示例脚本(关键片段):
readTemplate('/u01/app/oracle/middleware/wlserver/common/templates/wls/wls.jar')set('AdminServerName','AdminServer')set('ProductionModeEnabled','true')cd('/Server/AdminServer'); set('ListenAddress','server1_IP'); set('ListenPort',7001)cd('/'); create('myCluster','Cluster')create('server1','Server'); create('server2','Server')assign('Server','server1','server2','Cluster','myCluster')save(); activate(); exit()
- 说明:如需使用多播通信,可在集群上设置
setClusterMessagingMode('multicast')并配置多播地址/端口;现代网络更常用单播(unicast),无需多播网络配置。
- 启动 WLST:
三 配置集群与网络
- 受管服务器放置
- server1 上创建并启动受管服务器 server1(监听本机 IP 与端口,如 7002)
- server2 上创建并启动受管服务器 server2(监听本机 IP 与端口,如 7002)
- 两者均通过控制台或 WLST 加入同一 myCluster
- 前端代理/负载均衡
- 方式一:在受管服务器前部署 HTTP 代理(如 Apache/Nginx),将应用请求转发到各受管服务器的 7002,对外暴露 80/443
- 方式二:使用 WebLogic HttpClusterServlet 作为 Web 应用前置代理(配置简单,适合小规模或测试)
- 防火墙与端口
- 开放 7001(AdminServer)、7002(Managed Server)、5556(节点管理器,如使用) 等端口;或测试环境临时关闭防火墙
- 多播场景需确保交换机/网络允许多播流量;单播模式无需额外网络策略
- 可选:节点管理器(Node Manager)
- 便于远程启停受管服务器与自动恢复;需在各节点配置 NM 地址/端口 与凭据,并在控制台注册节点管理器
四 启动与验证
- 启动顺序
- 先启动 AdminServer:
$DOMAIN_HOME/bin/startWebLogic.sh - 再启动各 Managed Server:
$DOMAIN_HOME/bin/startManagedWebLogic.sh server1 http://server1_IP:7001
- 先启动 AdminServer:
- 控制台验证
- 访问:
http://server1_IP:7001/console,登录后检查:- Servers 页:AdminServer 与 server1/server2 状态为 Running
- Clusters 页:myCluster 成员为 RUNNING,通信模式(unicast/multicast)与端口正确
- 访问:
- 应用部署与高可用测试
- 部署测试应用(WAR/EAR),启用会话复制(如基于数据库或内存复制,按应用需求选择)
- 验证:访问应用,执行会话保持测试;依次关闭 server1/server2,确认会话不丢失、业务可继续提供服务
五 常见问题与最佳实践
- 常见问题
- 节点无法加入集群:检查 ListenAddress/ListenPort、防火墙、集群通信模式(单播/多播)与版本一致性
- 启动报凭据错误:在各受管服务器的 $DOMAIN_HOME/servers//security 下配置 boot.properties(username/password),首次自动加密
- 会话不共享:确认应用已正确打包并启用会话复制/粘性;检查 weblogic.xml(如
< distributable/>、会话复制策略) - 代理转发异常:核对代理到受管服务器的 HTTP 头传递(如 WL-Proxy-Client-IP)、应用上下文路径与负载均衡算法
- 最佳实践
- 使用 WLST 脚本 管理域与集群,避免手工控制台逐项配置
- 统一 JDK/WebLogic 版本与补丁;启用 NTP 与标准化目录/用户
- 生产环境优先 单播 集群通信,减少网络依赖;必要时使用 共享存储 承载文件型资源
- 接入 监控/告警(如 Prometheus + Grafana 或企业监控),并定期演练故障转移
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux WebLogic集群搭建方法
本文地址: https://pptw.com/jishu/749130.html
