温馨提示×

如何确保centos weblogic高可用

小樊
42
2025-12-17 19:46:08
栏目: 智能运维

CentOS 上实现 WebLogic 高可用的落地方案

一 架构与前置条件

  • 架构选型:至少准备2 台以上 CentOS 主机,每台主机运行1 个或多个受管服务器(Managed Server),统一由1 个管理服务器(AdminServer)集中配置与监控;前端使用硬件负载均衡器(如 F5)或 Web 服务器 + WebLogic 代理插件对外提供统一入口,避免单点。生产不建议把 AdminServer 放在公网或 DMZ。
  • 网络与安全:各服务器使用静态 IP;尽量避免跨防火墙部署集群,因为多播通信可能被阻断;如必须跨子网,需采用官方支持的隧道或替代机制。
  • 主机与系统:不要使用动态 IP的主机加入集群;同一台物理机可运行多个实例,但需合理规划 CPU/内存与文件句柄。
  • 许可与版本:确保具备集群许可,并统一 WebLogic 与 JDK 版本(常见为 JDK 8 搭配 WebLogic 12c/14c)。

二 安装与集群搭建

  • 统一环境:在各节点创建 weblogic 用户与目录,安装并配置 JDK 8,设置环境变量(JAVA_HOME、PATH 等)。
  • 安装 WebLogic:在各节点以 非 root 用户执行安装(如 java -jar fmw_14.1.1.0.0_wls_lite_generic.jar),保持软件版本一致。
  • 创建域与集群:在管理节点使用 config.sh/WLST 创建域,定义集群(Cluster)受管服务器计算机(Machine);为每台受管服务器设置唯一的名称、监听地址与端口
  • 节点通信:在域内配置集群地址、通信端口与(如适用)多播地址/端口;跨机房/跨网段时优先使用单播/T3直连替代多播。
  • 启动顺序:先启动 AdminServer,再通过 NodeManager 或脚本依次启动各受管服务器,观察启动日志直至“RUNNING”。

三 会话与数据的高可用

  • HTTP 会话复制:对 Web 应用启用WebLogic 会话复制(如基于内存的复制或数据库持久化),保证节点故障时会话不丢失;在应用 weblogic.xml 中设置 <distributable/>
  • 有状态服务:将 EJB、JMS、JDBC 连接池等配置为集群可迁移/故障转移,并通过控制台或 WLST 校验部署目标为集群而非单实例。
  • 事务与持久化:为 JTA 事务日志(TLOG)JMS 持久化存储配置共享且高可用的磁盘(如 SAN/多端口磁盘阵列),确保节点恢复时事务可回滚/消息不丢;切勿依赖本地单点磁盘。
  • 复制组:按物理机/机架规划复制组(Replication Groups),减少同机副本,提升容灾效果。

四 负载均衡与入口高可用

  • 硬件负载均衡:在 DMZ 部署 F5 BIG-IP 等,对外暴露VIP,后端映射所有受管服务器的 HTTP/HTTPS 端口;开启健康检查会话保持(如源地址/应用层 Cookie),并配置优雅停机熔断
  • 软件代理:也可在 Apache HTTP Server 上启用 WebLogic Proxy Plug-In,通过 WebLogicCluster 指令指向集群地址列表,实现动态摘除故障节点轮询分发
  • 客户端接入:生产客户端通过负载均衡器 VIP 或 DNS 轮询名称访问集群,避免直连单台受管服务器。

五 运维监控与故障演练

  • 健康检查与告警:在负载均衡器与 WebLogic 控制台配置存活/就绪探针阈值告警(JVM、线程、连接池、队列等),并接入 SNMP/邮件/企业微信/钉钉等。
  • 日志与诊断:集中采集 server.log、access.log、nodemanager.log,使用 WLDF 建立监控与诊断模块,保留GC 日志线程转储以便排障。
  • 自动拉起:为 AdminServer 与受管服务器配置 systemdNodeManager 自动启动,确保节点重启后自动归群
  • 备份与恢复:定期备份 域目录、应用归档、密钥库与数据库,并进行定期故障演练(宕机、断网、磁盘满、数据库主备切换),验证会话保持、事务恢复与自动故障转移的有效性。

0