温馨提示×

Debian与WebLogic集群如何搭建

小樊
31
2025-12-17 03:42:40
栏目: 智能运维

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

一 架构与准备

  • 架构建议:至少准备2 台 Debian主机,一台部署Admin Server,其余部署Managed Server;所有节点加入同一集群 Cluster,对外通过HTTP 负载均衡器(如 Nginx/HAProxy/商用 F5)暴露。
  • 软件与版本:安装受支持的 JDK 8 或 11,下载 Oracle WebLogic Server 12c/14c 安装介质(.jar 或 .zip),不建议通过系统包管理器安装 WebLogic。
  • 基础环境:配置 /etc/hosts 或 DNS 解析各节点主机名;开放必要端口(如 7001/7002/5556 等);建议启用 NTP 做时间同步;创建 weblogic 系统用户与目录(如 /opt/weblogic)。

二 安装 WebLogic 与创建域

  • 安装 JDK(示例为 OpenJDK 11)
    • 执行:sudo apt update && sudo apt install -y openjdk-11-jdk
    • 验证:java -version
  • 安装 WebLogic(示例为 14c)
    • 将安装包解压至 /opt/weblogic(或按 Oracle 安装向导执行),准备域目录(如 /opt/weblogic/user_projects/domains)。
  • 创建管理域(两种方式)
    • 图形化:/opt/weblogic/wlserver/common/bin/config.sh,按向导创建域与管理员账户。
    • WLST 脚本化:使用 WLST 创建域与基础资源配置,便于复用与自动化。

三 配置集群与节点管理器

  • 方式 A:控制台配置(直观)
    • 登录控制台(默认 http://:7001/console),进入 Environment → Clusters → New,创建集群(如 myCluster)。
    • 进入 Environment → Servers,创建若干 Managed Server(如 server1:7002、server2:7003),在“Servers → Configuration → Cluster”中将托管服务器加入 myCluster
  • 方式 B:WLST 配置(可脚本化)
    • 进入 WLST:/opt/weblogic/bin/wlst.sh
    • 示例脚本要点:
      • edit(); startEdit()
      • cmo.createCluster('myCluster')
      • 创建托管服务器:cmo.createServer('server1','server1.example.com',7002)cmo.createServer('server2','server2.example.com',7003)
      • 将服务器加入集群:cd('/Servers/server1'); cmo.setCluster(getMBean('/Clusters/myCluster'));
      • 可选:配置 Node Manager(建议为每个节点启用,便于远程启停与受管服务器生命周期管理)
      • activate() 提交变更
  • 节点管理器要点
    • 在各节点准备 Node Manager 目录与启动脚本,使用 nmConnect/nmStart 等 WLST 命令远程管理托管服务器;确保 listenAddress/listenPort 与防火墙策略正确。

四 启动与验证

  • 启动顺序
    • 启动 Admin Server/opt/weblogic/user_projects/domains/<domain>/startWebLogic.sh
    • 启动托管服务器:控制台启动,或通过 Node Manager 启动(推荐)。
  • 验证要点
    • 控制台 Environment → Clusters → Overview 查看集群与服务器状态为 Running
    • 部署测试应用(如简单 war),验证会话复制(如使用 HttpSession 亲和/复制)与故障转移;通过负载均衡器分发请求,停掉某台托管服务器验证自动故障转移。

五 常见问题与优化

  • 常见问题
    • 节点无法互通:检查 /etc/hosts、安全组/防火墙、监听地址与端口。
    • 启动失败:核对 JAVA_HOME、域目录权限、端口占用。
    • 会话不复制:确认应用启用会话复制配置,且集群通信正常。
  • 优化建议
    • 使用 外部 HTTP 负载均衡器做健康检查与权重分发;为管理流量与业务流量分离。
    • 启用 日志滚动GC 日志,设置合适的堆内存与线程池。
    • 全链路 时间同步(NTP),避免因时间漂移导致会话/安全异常。

0