温馨提示×

centos weblogic集群搭建步骤

小樊
52
2025-10-07 07:38:52
栏目: 智能运维

CentOS环境下WebLogic集群搭建详细步骤

一、准备工作

  1. 环境要求

    • 至少2台CentOS 7.x/8.x服务器(物理机或虚拟机),配置静态IP地址。
    • 确保服务器之间网络互通(关闭防火墙或放行相关端口,默认管理端口7001、集群通信端口7002)。
    • 推荐使用WebLogic 12c及以上版本(需匹配JDK版本,如WebLogic 12c需JDK 8+)。
  2. 基础依赖安装

    • 安装JDK:所有服务器需安装相同版本的JDK(以JDK 8为例)。
      mkdir -p /usr/java
      tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/java
      chown -R weblogic:weblogic /usr/java  # 若使用weblogic用户
      
      配置环境变量(/etc/profile):
      echo "export JAVA_HOME=/usr/java/jdk1.8.0_221" >> /etc/profile
      echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> /etc/profile
      source /etc/profile
      java -version  # 验证安装
      
    • 创建WebLogic用户
      groupadd weblogic
      useradd -g weblogic -d /home/weblogic -m weblogic
      passwd weblogic  # 设置密码
      
  3. 下载并安装WebLogic

    • 从Oracle官网下载WebLogic安装包(如fmw_14.1.1.0.0_wls_lite_generic.jar)。
    • 切换至weblogic用户,执行静默安装:
      su - weblogic
      mkdir -p /opt/weblogic
      chmod +x /path/to/fmw_14.1.1.0.0_wls_lite_generic.jar
      java -jar /path/to/fmw_14.1.1.0.0_wls_lite_generic.jar -silent -responseFile /opt/weblogic/wls.rsp -invPtrLoc /opt/weblogic/oraInst.loc
      
      其中wls.rsp需包含安装路径(ORACLE_HOME=/opt/weblogic/oracle/middleware)、安装类型(WebLogic Server)等参数。

二、创建WebLogic域

  1. 进入域创建目录
    切换至weblogic用户,进入WebLogic安装目录下的域模板目录:

    su - weblogic
    cd /opt/weblogic/oracle/middleware/wlserver/common/bin
    
  2. 使用WLST创建域
    执行wlst.sh脚本,通过命令行创建域(包含管理服务器和集群配置):

    ./wlst.sh
    

    在WLST控制台中输入以下命令(替换为实际路径和参数):

    readTemplate('/opt/weblogic/oracle/middleware/wlserver/common/templates/wls/wls.jar')
    cd('/Servers/AdminServer')
    set('ListenAddress', '')  # 空表示监听所有IP
    set('ListenPort', 7001)
    cd('/')
    create('my_cluster', 'Cluster')  # 创建集群,名称为my_cluster
    cd('/Security/base_domain/User/weblogic')
    cmo.setPassword('weblogic1234')  # 设置管理员密码
    set('OverwriteDomain', 'true')
    writeDomain('/opt/weblogic/user_projects/domains/my_domain')  # 域目录
    closeTemplate()
    exit()
    

    此命令会创建名为my_domain的域,包含管理服务器AdminServer和集群my_cluster

三、配置集群

  1. 启动管理服务器
    进入域的bin目录,启动管理服务器:

    cd /opt/weblogic/user_projects/domains/my_domain/bin
    ./startWebLogic.sh
    

    访问管理控制台(http://<管理服务器IP>:7001/console),使用管理员账号(weblogic/weblogic1234)登录。

  2. 添加受管服务器到集群

    • 登录控制台后,导航至域结构集群my_cluster配置服务器
    • 点击新建,输入受管服务器名称(如managed1managed2),设置监听地址(节点IP)和端口(如7003、7004)。
    • 重复操作添加所有受管服务器,并将它们添加到my_cluster集群中。
  3. 配置集群通信

    • 在集群配置页面,设置集群消息传递模式unicast(默认),集群消息协议TCP
    • 确保所有节点的cluster-messaging-port(默认7002)未被占用,且防火墙放行该端口。

四、配置节点启动脚本

  1. 生成boot.properties文件
    为避免每次启动服务器都输入密码,在每个节点的security目录下创建boot.properties

    mkdir -p /opt/weblogic/user_projects/domains/my_domain/servers/managed1/security
    echo "username=weblogic" > /opt/weblogic/user_projects/domains/my_domain/servers/managed1/security/boot.properties
    echo "password=weblogic1234" >> /opt/weblogic/user_projects/domains/my_domain/servers/managed1/security/boot.properties
    chmod 600 /opt/weblogic/user_projects/domains/my_domain/servers/*/security/boot.properties  # 设置权限
    
  2. 创建受管服务器启动脚本
    在域的bin目录下,为每个受管服务器创建启动脚本(如startManaged1.sh):

    echo '#!/bin/bash' > /opt/weblogic/user_projects/domains/my_domain/bin/startManaged1.sh
    echo 'nohup ./startManagedWebLogic.sh managed1 http://<管理服务器IP>:7001 > /opt/weblogic/user_projects/domains/my_domain/servers/managed1/logs/managed1.out 2>&1 &' >> /opt/weblogic/user_projects/domains/my_domain/bin/startManaged1.sh
    chmod +x /opt/weblogic/user_projects/domains/my_domain/bin/startManaged1.sh
    

五、启动集群

  1. 启动管理服务器

    cd /opt/weblogic/user_projects/domains/my_domain/bin
    ./startWebLogic.sh
    
  2. 启动受管服务器
    在每个节点上执行对应的启动脚本(如startManaged1.sh),或在管理控制台通过域结构环境服务器启动启动受管服务器。

  3. 验证集群状态
    登录管理控制台,导航至域结构集群my_cluster监控服务器,检查所有服务器(管理服务器+受管服务器)的状态是否为“运行中”。

六、验证集群功能

  1. 部署应用测试负载均衡
    将应用(如WAR包)部署到集群(而非单个服务器),通过管理控制台域结构部署安装完成部署。访问应用时,通过管理服务器IP(如http://<管理服务器IP>:7001/app),观察请求是否分发到多个受管服务器。

  2. 测试故障转移
    手动停止某个受管服务器(如managed1),访问应用时检查是否自动切换到其他正常运行的受管服务器(如managed2),确保会话未丢失(需配置会话持久化,如内存复制)。

注意事项

  • 版本一致性:所有节点的WebLogic版本、JDK版本必须完全一致。
  • 网络配置:确保节点间网络延迟低(建议<10ms),防火墙放行管理端口(7001)、集群通信端口(7002)及应用端口。
  • 资源规划:根据应用负载调整JVM内存(如-Xms512m -Xmx1024m),避免内存溢出。
  • 会话持久化:若需会话不丢失,需在集群配置中启用会话复制(如内存复制),并在应用中配置<distributable/>标签。

0