温馨提示×

Debian如何配置WebLogic集群

小樊
34
2025-12-21 02:47:49
栏目: 智能运维

在 Debian 上配置 WebLogic 集群

一 架构与前提

  • 规划拓扑:至少准备2 台 Debian 主机(可同机多实例),每台主机安装相同版本的 WebLogic Server;集群中的所有服务器实例必须位于同一个 Domain,且一个 Domain 仅能有一个 Administration Server。集群对外呈现为单一逻辑服务,支持负载均衡故障转移
  • 版本建议:生产环境建议使用受支持的 WebLogic 12c/14c 版本;示例命令以 14c 通用流程演示。
  • 基础环境:安装 JDK 8/11(建议 JDK 11),创建专用系统用户(如 weblogic),设置 JAVA_HOME 与目录权限;确保节点间网络互通(开放管理端口与集群通信端口)。

二 安装 WebLogic 与创建域

  • 安装 JDK(示例为 OpenJDK 11):
    sudo apt update
    sudo apt install -y openjdk-11-jdk
    echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' | sudo tee -a /etc/profile.d/java.sh
    source /etc/profile.d/java.sh
    java -version
    
  • 创建 weblogic 用户与目录:
    sudo useradd -m -d /opt/weblogic -s /bin/bash weblogic
    sudo mkdir -p /opt/weblogic /u01/app/weblogic
    sudo chown -R weblogic:weblogic /opt/weblogic /u01/app/weblogic
    
  • 安装 WebLogic(通用 JAR 方式,示例版本号以实际下载为准):
    sudo -u weblogic -i bash -lc "
      cd /opt/weblogic
      wget https://download.oracle.com/otn/weblogic/weblogic-143100/143100/weblogic-server-143100-linux-x86-64-bin.tar.gz
      tar -xzf weblogic-server-143100-linux-x86-64-bin.tar.gz
    "
    
  • 创建管理服务器域(仅在第 1 台主机执行一次):
    sudo -u weblogic -i bash -lc "
      export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
      /opt/weblogic/wlserver/common/bin/config.sh
    "
    
    在配置向导中选择“创建新域”,设置域目录(如 /u01/app/weblogic/domains/base_domain)、管理服务器端口(默认 7001)、管理员账号;完成后域目录结构即就绪。

三 配置集群与托管服务器

  • 方式 A(控制台):登录 Administration Console(http://:7001/console),导航至 Environment → Clusters → Create,创建集群(如 myCluster,默认多播或单播地址可按网络环境调整);随后在 Environment → Servers 中创建托管服务器(如 server1server2),将托管服务器分配到 myCluster,并分别设置各自的监听地址与端口(如 7002/7003)。
  • 方式 B(手工编辑 config.xml,位于 $DOMAIN_HOME/config/config.xml):在 内新增 定义,示例片段:
    <cluster name="myCluster">
      <multicast-address>239.192.0.0</multicast-address>
      <multicast-port>7001</multicast-port>
    </cluster>
    
    <server>
      <name>server1</name>
      <listen-address>192.168.10.11</listen-address>
      <listen-port>7002</listen-port>
      <cluster>myCluster</cluster>
    </server>
    
    <server>
      <name>server2</name>
      <listen-address>192.168.10.12</listen-address>
      <listen-port>7003</port>
      <cluster>myCluster</cluster>
    </server>
    
    提示:生产网络若禁用多播,可改用单播并配置 Unicast 地址列表;具体参数以网络与版本为准。

四 启动与验证

  • 启动管理服务器(第 1 台主机):
    sudo -u weblogic -i bash -lc "
      export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
      /u01/app/weblogic/domains/base_domain/bin/startWebLogic.sh
    "
    
  • 启动托管服务器(各节点分别执行,或使用 Node Manager 集中启停):
    sudo -u weblogic -i bash -lc "
      export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
      /u01/app/weblogic/domains/base_domain/bin/startManagedWebLogic.sh server1 http://admin-host:7001
    "
    sudo -u weblogic -i bash -lc "
      export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
      /u01/app/weblogic/domains/base_domain/bin/startManagedWebLogic.sh server2 http://admin-host:7001
    "
    
  • 验证要点:
    • 控制台 Environment → Clusters → Overview 查看集群与成员状态为 Running
    • 部署一个测试应用(标记为“集群部署”),通过 http://:7001/console 或应用入口访问,确认请求在 server1/server2 间分发。
    • 进行故障转移测试:停止某托管服务器,验证会话可继续处理且用户无感知或最小感知。

五 负载均衡与高可用要点

  • 前端负载均衡:在集群前部署 Apache HTTP Server + mod_wlNginx/HAProxy,将请求分发到各托管服务器;会话保持建议使用 WebLogic Session Replication(应用需启用可序列化与会话复制)或外置 JDBC/Coherence 等方案。
  • 服务可用性:确保 Administration Server 与托管服务器时间同步(如 NTP),并按需配置 SSL/TLS、网络通道与安全策略。
  • 数据与消息:对 JDBC 数据源启用故障转移/负载均衡策略;如使用 JMS,配置 JMS Server/Connection Factory/Distributed Destination 的集群感知与故障转移。
  • 运维建议:遵循官方集群约束(同一 Domain、同版本实例、统一资源配置),并通过控制台与监控工具持续观察集群健康度与吞吐。

0