温馨提示×

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:7003appSrv2 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/PortCluster 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持久化策略与偏移/长度配置。

0