温馨提示×

WebLogic在Debian上的集群搭建指南

小樊
40
2025-11-21 12:46:58
栏目: 智能运维

在 Debian 上搭建 WebLogic 集群的实操指南

一 环境准备与规划

  • 节点与网络:准备至少2 台Debian 服务器(建议2 核 CPU、8GB 内存、200GB 存储),规划管理服务器与托管服务器分布,确保节点间互通且开放必要端口(如7001管理端口、集群通信端口)。
  • Java 运行环境:安装JDK 8 或 11(示例命令:sudo apt update && sudo apt install openjdk-11-jdk),验证 java -version。
  • 软件介质:从 Oracle 获取 WebLogic Server 12c/14c 安装包(ZIP 或安装器),并准备部署用的应用 WAR。
  • 域名与地址:建议为各节点配置主机名与 DNS 或 /etc/hosts,便于集群通信与负载均衡配置。

二 安装 WebLogic 与创建域

  • 安装介质与目录:将安装包解压至如 /opt/weblogic,创建域目录 /opt/weblogic/user_projects/domains
  • 创建管理域:执行域配置向导创建基础域(示例:./config.sh,按向导设置域、管理服务器监听地址与端口如7001)。
  • 验证单节点:启动管理服务器(如 /opt/weblogic/user_projects/domains//startWebLogic.sh),访问控制台 http://<管理节点IP>:7001/console

三 使用 WLST 创建集群与托管服务器

  • 进入 WLST:/opt/weblogic/oracle_common/common/bin/wlst.sh
  • 典型脚本示例(按实际主机名与端口调整):
    • 连接管理服务器
      • connect(‘weblogic’,‘weblogic123’,‘t3://<管理节点IP>:7001’)
    • 创建集群
      • edit()
      • startEdit()
      • cmo.createCluster(‘myCluster’)
    • 创建托管服务器并加入集群
      • cd(‘/Servers’)
      • cmo.createServer(‘server1’, ‘server1’, ‘10.0.0.11’, 7003)
      • cd(‘/Servers/server1/ServerStart’)
      • cmo.setArguments(‘-Dweblogic.Name=server1’)
      • cd(‘/Clusters/myCluster’)
      • cmo.addMember(‘server1’)
      • cmo.createServer(‘server2’, ‘server2’, ‘10.0.0.12’, 7003)
      • cd(‘/Servers/server2/ServerStart’)
      • cmo.setArguments(‘-Dweblogic.Name=server2’)
      • cd(‘/Clusters/myCluster’)
      • cmo.addMember(‘server2’)
    • 激活变更
      • activate(block=“true”)
  • 启动托管服务器:在各托管节点执行域 bin 目录下的 startManagedWebLogic.sh(示例:./startManagedWebLogic.sh server1 t3://<管理节点IP>:7001)。

四 负载均衡与高可用配置

  • 外部负载均衡器:在管理节点前部署 HAProxy/Nginx/F5 等,将流量分发至各托管服务器的应用端口(如7003),并配置健康检查与会话保持策略。
  • 集群通信与健康检查:确保集群成员间网络低时延与高可用,在控制台检查集群成员状态为Running,必要时调整监听地址/端口安全策略

五 部署验证与常见问题

  • 部署与验证:在控制台将应用部署到myCluster,通过负载均衡访问验证会话保持故障转移;查看各节点日志(如 server.out、access.log)确认无异常。
  • 常见问题与处理:
    • 节点无法加入集群:检查主机名解析、端口连通性、防火墙listen-address 配置。
    • 启动失败:核对 JAVA_HOME、DOMAIN_HOME、启动参数,查看 AdminServer 与 ManagedServer 日志定位错误。
    • 会话丢失:确认应用启用分布式会话(如数据库或内存复制),并正确配置负载均衡的会话保持

0