Linux环境下WebLogic如何管理集群
小樊
42
2025-12-02 16:13:49
Linux环境下WebLogic集群管理实操指南
一 核心概念与前置条件
关键概念:Domain(域) 、Admin Server(管理服务器) 、Managed Server(受管服务器) 、Cluster(集群) 、Node Manager(节点管理器) 。一个域包含管理服务器与若干受管服务器;集群由多个受管服务器组成,对客户端呈现为单一逻辑服务;节点管理器用于在主机上守护与远程启停受管服务器。
网络与地址:集群成员必须在同一LAN 且可通过IP 组播(UDP)互通;每台服务器需有 静态IP ;若服务器在防火墙后且客户端在外部,需为服务器配置可公网访问的IP 。
许可与安装:需具备集群许可 ;不建议在共享文件系统 上跨机器运行多个实例(存在单点竞争与可靠性风险)。
二 集群创建与部署
规划示例:
管理服务器:AdminServer 192.168.188.58:7001
受管服务器:appSrv1 192.168.188.58:7003 、appSrv2 192.168.188.58:7004
代理服务器(Web 前端):proxy 192.168.188.58:8080 (也可用硬件/软件负载均衡替代)
创建域与集群:运行配置向导(如 /u01/oracle/Oracle/Middleware/Oracle_Home/wlserver/common/bin/config.sh ),选择“Admin Server with Clustered Managed Server(s) ”,依次配置管理服务器、受管服务器,新建集群并设置Multicast Address/Port 与Cluster Address (DNS名或逗号分隔的各实例IP:端口)。
部署与分发:在控制台将应用部署到集群目标 (而非单个Server),即可自动分发到各受管服务器;如需会话保持,确保应用启用HTTP Session Replication 。
三 启动停止与节点管理
标准顺序:先启动Admin Server ,再启动各Managed Server ;停止顺序相反。
常用命令(域目录执行):
启动管理服务器:./startWebLogic.sh
启动受管服务器:./startManagedWebLogic.sh <server_name> t3://<admin_ip>:<admin_port>
停止受管服务器:./stopManagedWebLogic.sh <server_name> t3://<admin_ip>:<admin_port>
停止管理服务器:./stopWebLogic.sh
后台与免密:生产模式首次启动受管服务器会提示账号密码,可在 /servers//security/boot.properties 中写入 username/password 实现免交互启动;也可使用 nohup … & 放入后台。
远程启停:配置并启动Node Manager 后,可在控制台或 WLST 中对远程主机上的受管服务器执行启动/停止/重启 ,便于标准化运维。
四 负载均衡与会话保持
前端入口:可使用WebLogic Proxy Servlet 或硬件/软件负载均衡器 作为统一入口。示例代理配置要点(web.xml):
指定集群地址:<init-param><param-name>WebLogicCluster</param-value>10.0.0.11:7003|10.0.0.12:7004</param-value></init-param>
会话Cookie名:<init-param><param-name>CookieName</param-name>JSESSIONID</param-name></init-param>
分发策略:<init-param><param-name>wl-dispatch-policy</param-name>web</param-value></init-param>
硬件负载均衡与Cookie:若使用硬件负载均衡并启用HTTP Session State Replication ,需正确配置会话Cookie持久化:
不支持会覆盖/修改 WebLogic会话Cookie的“主动Cookie ”机制;
使用“被动Cookie ”时,需按WebLogic会话Cookie格式配置偏移量(offset)与长度(length) ,以正确识别承载会话的服务器实例。
五 监控排障与运维要点
集群成员与连通性:在控制台进入集群的Monitoring > Monitor server participation ,核对所有受管服务器是否已加入;若未出现,检查各实例的组播地址/端口 配置与网络连通性。
运行时监控:在控制台查看各Server的Health、Threads、JDBC 等;使用 WLST 快速巡检,例如:wlst.sh -c "show('ThreadPoolRuntime')"。
日志与诊断:启用滚动日志 (如单个文件5MB 、保留100 个);异常时优先查看 server/logs/*.log 与 *.out ;必要时对问题实例执行 kill -3 生成 javacore 进行线程与内存分析。
常见问题速查:
某实例未加入集群:核对Multicast 参数与LAN互通 ;
负载未分发:检查应用是否部署到集群目标 、代理的 WebLogicCluster 参数与 CookieName 是否一致;
会话粘滞异常:核对负载均衡的Cookie持久化 策略与偏移/长度配置。