如何在Debian上实现WebLogic的高可用
导读:在 Debian 上实现 WebLogic 高可用的落地方案 一 架构与前置条件 架构要点:至少准备2 台 Debian 服务器构建 WebLogic 集群(建议管理服务器 1 台 + 受管服务器 2 台及以上),前置Nginx/HAPr...
在 Debian 上实现 WebLogic 高可用的落地方案
一 架构与前置条件
- 架构要点:至少准备2 台 Debian 服务器构建 WebLogic 集群(建议管理服务器 1 台 + 受管服务器 2 台及以上),前置Nginx/HAProxy作为 7 层负载均衡,对外暴露 80/443,管理端口 7001 仅限内网访问。会话保持建议优先使用数据库会话持久化,在无法改造应用时再启用粘性会话作为兜底。
- 软件与版本:安装 JDK 8/11(与 WebLogic 版本匹配)、WebLogic Server 12c/14c、Nginx/HAProxy。
- 系统与网络:各节点间开放 T3(默认 7001) 与节点间通信端口,禁用不必要的对外端口;主机名可解析;建议为管理服务器与受管服务器使用非 root运行用户(如 weblogic:weblogic)。
二 安装与域配置
- 安装 JDK 并配置环境(两台以上一致):
- 示例:将 JDK 解压至 /usr/local/java/jdk1.8.0_XXX,在 /etc/profile 或 ~/.bash_profile 中设置:
- export JAVA_HOME=/usr/local/java/jdk1.8.0_XXX
- export PATH=$JAVA_HOME/bin:$PATH
- 执行:source /etc/profile & & java -version 校验。
- 示例:将 JDK 解压至 /usr/local/java/jdk1.8.0_XXX,在 /etc/profile 或 ~/.bash_profile 中设置:
- 安装 WebLogic(通用做法):将安装介质上传至 /opt/weblogic,解压并按向导创建域(或使用 WLST 脚本化创建)。
- 创建域与受管服务器(示例要点):
- 管理服务器:名称 AdminServer,监听地址 0.0.0.0,端口 7001。
- 受管服务器:每台机器至少 1 个,如 server1(7003)、server2(7004),均加入同一集群。
- 建议将域目录与日志目录归属 weblogic:weblogic,便于权限与备份管理。
三 集群与会话高可用
- 创建集群与加入成员(控制台或 WLST):
- 控制台路径:Environment → Clusters → Create,创建集群(如 myCluster),将受管服务器加入集群。
- WLST 示例(在域目录执行):
- connect(‘weblogic’,‘密码’,‘t3://管理服务器IP:7001’)
- edit()
- startEdit()
- cd(‘/’)
- cmo.createCluster(‘myCluster’)
- cd(‘Servers/server1’); cmo.setCluster(getMBean(‘/Clusters/myCluster’))
- cd(‘Servers/server2’); cmo.setCluster(getMBean(‘/Clusters/myCluster’))
- activate()
- 会话保持策略(按应用改造优先级):
- 推荐:配置数据库会话持久化(JDBC Tuning → 会话持久化),具备跨节点与跨故障的强一致性优势。
- 兜底:启用粘性会话(如 Nginx 的 ip_hash 或 sticky 模块),减少会话丢失风险但存在单点隐患。
- 部署与验证:
- 将应用以“集群目标”方式部署,启用集群部署与故障转移选项。
- 通过控制台检查:Servers/Clusters 状态为 RUNNING,部署目标覆盖所有受管服务器。
四 负载均衡与故障转移
- Nginx 示例(/etc/nginx/sites-available/000-default.conf):
- 反向代理与负载均衡:
- upstream backend { server node1:7003; server node2:7004; }
- server { listen 80; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
- 如需会话粘性(仅在无法使用数据库会话持久化时启用):
- 使用 nginx-sticky-module 或采用 ip_hash;示例:upstream backend { ip_hash; server node1:7003; server node2:7004; } 。
- 反向代理与负载均衡:
- HAProxy 示例(/etc/haproxy/haproxy.cfg):
- frontend http-in bind 0.0.0.0:80
- default_backend weblogic
- backend weblogic balance roundrobin
- server node1 192.168.1.11:7003 check
- server node2 192.168.1.12:7004 check
- 健康检查与故障转移:
- 负载均衡器对后端 HTTP 200/302 或 T3 7001 做健康检查;后端节点宕机自动摘除,恢复后自动回切。
- 对外域名解析到负载均衡器 VIP,管理端口 7001 仅内网可达,避免暴露管理面。
五 监控 备份与运维要点
- 监控与告警:
- 使用 WLST/JMX 采集 JVM、线程、JDBC、EJB、集群成员状态 等指标;结合 Prometheus + Grafana 做可视化与阈值告警(如线程池使用率、GC 时间、节点离线)。
- 日志与审计:
- 集中收集 AdminServer 与受管服务器 的 server.log、access.log,按天滚动;关键告警接入企业 IM/短信。
- 备份与恢复:
- 定期备份 域目录($DOMAIN_HOME) 与 应用归档,保留最近 N 个 版本;演练恢复流程(配置回滚、应用回滚)。
- 网络与安全:
- 仅开放 80/443/7001(内网) 等必要端口;开启 防火墙/安全组;为管理口与节点间通信启用 TLS/SSL。
- 日常运维:
- 变更通过 控制台/WLST 灰度发布;滚动重启受管服务器;变更前后对比 集群健康与业务指标。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Debian上实现WebLogic的高可用
本文地址: https://pptw.com/jishu/753767.html
