温馨提示×

WebLogic如何在Linux上进行集群配置

小樊
46
2025-11-24 18:39:44
栏目: 智能运维

Linux 上 WebLogic 集群配置实操指南

一 架构与前置准备

  • 架构要点:至少准备2 台 Linux 服务器(建议同版本操作系统),规划1 个管理服务器 AdminServer多个受管服务器 Managed Server,将受管服务器加入集群 Cluster;前端使用外部负载均衡器(如商用或开源 LB)做 HTTP 接入,集群内通过 T3 协议进行通信与会话复制(如使用“复制会话”策略)。
  • 基础环境:安装并统一 JDK 8(或项目要求的版本),创建 weblogic 系统用户与目录,确保节点间网络互通(开放必要端口,如 7001/7002/T3 端口/节点管理器端口)。
  • 共享资源:若使用JDBC 数据源,建议配置**共享存储(NAS/SAN)**或数据库高可用,避免单点。
  • 安全基线:建议仅开放必要端口,禁用不必要服务,按企业规范加固 OS 与 WebLogic。

二 安装 WebLogic 与创建域

  • 安装介质与环境
    • WebLogic 12c/14c 为例,上传安装包(如 fmw_14.1.1.0.0_wls_lite_generic.jarwls_12.2.1.4.0_wls_generic.jar)至各节点。
    • 创建用户与目录并授权:
      • groupadd weblogic && useradd -g weblogic weblogic
      • mkdir -p /opt/weblogic && chown -R weblogic:weblogic /opt/weblogic
    • 配置环境变量(/etc/profile 或 weblogic 用户 profile):
      • export JAVA_HOME=/usr/java/jdk1.8.0_191
      • export PATH=$JAVA_HOME/bin:$PATH
  • 静默安装(示例)
    • 准备响应文件与清单:
      • /opt/weblogic/oraInst.loc:inventory_loc=/opt/weblogic/oraInventory;inst_group=weblogic
      • /opt/weblogic/wls.rsp:设置 ORACLE_HOME、INSTALL_TYPE=WebLogic Server 等
    • 执行安装:
      • su - weblogic
      • java -jar fmw_14.1.1.0.0_wls_lite_generic.jar -silent -responseFile /opt/weblogic/wls.rsp -invPtrLoc /opt/weblogic/oraInst.loc
  • 创建域(两种方式)
    • 控制台方式:运行 /opt/weblogic/oracle/middleware/wlserver/common/bin/config.sh,按向导创建域、配置 AdminServer 监听地址与端口(常用 7001)。
    • WLST 方式:
      • $WL_HOME/common/bin/wlst.sh
      • readTemplate(‘/opt/weblogic/oracle/middleware/wlserver/common/templates/wls/wls.jar’)
      • set(‘AdminServerName’,‘AdminServer’); set(‘ProductionModeEnabled’,‘true’); set(‘Name’,‘my_domain’)
      • cd(‘/Server/AdminServer’); set(‘ListenAddress’,‘192.168.1.10’); set(‘ListenPort’,7001)
      • writeDomain(‘/opt/weblogic/user_projects/domains/my_domain’); closeTemplate(); exit()
  • 建议:将域目录统一放在 /opt/weblogic/user_projects/domains,便于运维与备份。

三 配置集群与受管服务器

  • 方式一:控制台配置(直观)
    • 登录控制台(http://:7001/console),进入环境 → 集群 → 新建,创建集群(如 my_cluster)。
    • 进入环境 → 服务器 → 新建,在每台主机上创建受管服务器(如 server1:7003server2:7004),在服务器设置中指定**计算机(Machine)**与监听地址。
    • 将受管服务器分配到 my_cluster
  • 方式二:WLST 脚本示例(可复用)
    • 在主控节点执行 WLST:
      • readTemplate(‘/opt/weblogic/oracle/middleware/wlserver/common/templates/wls/wls.jar’)
      • set(‘AdminServerName’,‘AdminServer’); set(‘ProductionModeEnabled’,‘true’); set(‘Name’,‘my_domain’)
      • cd(‘/Server/AdminServer’); set(‘ListenAddress’,‘192.168.1.10’); set(‘ListenPort’,7001)
      • create(‘my_cluster’,‘Cluster’)
      • create(‘server1’,‘Server’); assign(‘Server’,‘server1’,‘my_cluster’)
      • cd(‘/Server/server1’); set(‘ListenAddress’,‘192.168.1.11’); set(‘ListenPort’,7003)
      • create(‘server2’,‘Server’); assign(‘Server’,‘server2’,‘my_cluster’)
      • cd(‘/Server/server2’); set(‘ListenAddress’,‘192.168.1.12’); set(‘ListenPort’,7004)
      • writeDomain(‘/opt/weblogic/user_projects/domains/my_domain’); closeTemplate(); exit()
  • 节点管理器 Node Manager(推荐)
    • 在各节点启动 Node Manager(域 bin 目录):nohup ./startNodeManager.sh &
    • 控制台中注册并启动受管服务器,或命令行通过 Node Manager 启动,便于集中控制与自动重启。

四 启动与验证

  • 启动顺序
    • 启动 AdminServer:nohup ./startWebLogic.sh &(或使用脚本/Node Manager)。
    • 启动受管服务器:nohup ./startManagedWebLogic.sh server1 http://:7001 &(或使用 Node Manager)。
  • 验证要点
    • 控制台检查:环境 → 服务器环境 → 集群 状态均为 RUNNING
    • 连通性:从任一节点使用 t3://<目标IP>:<目标端口> 测试到各受管服务器的 T3 可达性。
    • 部署测试:部署一个测试应用(如简单 war),开启会话复制(如使用“复制会话”),通过前端 VIP/LB 访问,验证负载均衡故障转移

五 常见问题与优化建议

  • 常见问题
    • 节点无法加入集群:检查 /etc/hosts防火墙/SELinuxT3 端口ListenAddress 配置是否正确。
    • 启动缓慢:设置 -Djava.security.egd=file:/dev/./urandom 加速熵源初始化。
    • 凭据频繁输入:在各受管服务器的 servers//security/boot.properties 中写入 username/password,下次自动登录。
    • 会话粘滞与复制:HTTP 接入建议开启 Sticky Session;集群内根据业务选择内存复制JDBC 复制策略。
  • 优化建议
    • 使用 外部负载均衡器(HTTP/HTTPS)统一接入与健康检查。
    • JDBC 数据源配置多实例/高可用与连接池参数。
    • 启用 日志滚动GC 日志,结合 Prometheus/GrafanaNagios 做监控告警。

0