温馨提示×

WebLogic集群在Linux上如何搭建

小樊
34
2025-12-24 08:02:56
栏目: 智能运维

Linux 上搭建 WebLogic 集群实操指南

一 架构与前置准备

  • 架构要点:在同一内创建多个受管服务器(Managed Server)组成集群(Cluster),由唯一的管理服务器(AdminServer)集中配置与监控;对外通过硬件负载均衡器WebLogic 代理插件访问集群地址,实现负载均衡故障转移。跨机房/跨防火墙部署需评估多播通信与网络拓扑影响。生产环境建议使用DNS 轮询名称或负载均衡器承载集群地址。以上为官方集群能力与部署原则。
  • 环境与账号:准备两台及以上 Linux 主机(建议同发行版与内核版本一致),安装受支持的 JDK 8(示例为 jdk1.8.0_181),创建专用用户(如 weblogic)并配置 sudo 权限;规划目录(如 /opt/weblogic 安装、/u01/app/weblogic/domains 域)。
  • 网络与端口:确保节点间互通,开放 SSH(22)管理端口(默认 7001)、**节点管理器端口(默认 5556)**及受管服务器端口;如需代理/负载均衡,开放对应 VIP/端口。避免将集群节点跨防火墙部署,必要时评估多播穿越与端口放通策略。

二 安装 WebLogic 与创建域

  • 安装 WebLogic(静默方式,两台主机均执行):
    • 准备响应文件 wls.rsporaInst.loc,示例要点:
      • wls.rsp:设置 ORACLE_HOME、接受许可等
      • oraInst.loc:设置 inventory_locinst_group
    • 以 weblogic 用户执行:
      • java -jar fmw_14.1.1.0.0_wls_lite_generic.jar -silent -responseFile /opt/weblogic/wls.rsp -invPtrLoc /opt/weblogic/oraInst.loc
  • 创建管理域(示例在主机 A 执行,端口 7001):
    • $WL_HOME/common/bin/wlst.sh
    • 典型 WLST 片段(按实际路径与密码调整):
      • readTemplateForUpdate(‘/opt/weblogic/oracle/middleware/wlserver/common/templates/wls/wls.jar’)
      • cd(‘Servers/AdminServer’)
      • set(‘ListenAddress’,‘’)
      • set(‘ListenPort’,7001)
      • cd(‘/Security/base_domain/User/weblogic’)
      • cmo.setPassword(‘YourStrongPwd!’)
      • set(‘OverwriteDomain’,‘true’)
      • writeDomain(‘/u01/app/weblogic/domains/base_domain’)
      • closeTemplate(); exit()
  • 验证:启动 AdminServer(nohup ./startWebLogic.sh &),浏览器访问 http://<主机A>:7001/console

三 配置集群与受管服务器

  • 方式一(控制台):登录控制台,锁定并编辑
    • 环境 → 计算机 → 新建(为每台物理机各建一条,填写监听地址
    • 服务器 → 新建(创建多个受管服务器,如 server1server2,指定所属计算机监听地址端口
    • 集群 → 新建(如 my_cluster),将受管服务器加入集群;保存并激活更改
  • 方式二(WLST 片段,示例创建两台受管服务器并加入集群):
    • readDomain(‘/u01/app/weblogic/domains/base_domain’)
    • cd(‘/’)
    • create(‘my_cluster’,‘Cluster’)
    • create(‘server1’,‘Server’)
    • cd(‘Servers/server1’); set(‘ListenAddress’,‘<主机A_IP>’); set(‘ListenPort’,7003)
    • assign(‘Server’,‘server1’,‘Cluster’,‘my_cluster’)
    • create(‘server2’,‘Server’)
    • cd(‘Servers/server2’); set(‘ListenAddress’,‘<主机B_IP>’); set(‘ListenPort’,7003)
    • assign(‘Server’,‘server2’,‘Cluster’,‘my_cluster’)
    • updateDomain(); closeDomain(); exit()
  • 节点管理器(建议每台主机启用,端口 5556):
    • 启动:$WL_HOME/server/bin/startNodeManager.sh
    • 在控制台“环境 → 服务器 → 控制”中对受管服务器执行“启动/停止”,或通过 nmConnect/nmStart 脚本化管理。

四 数据与会话及前端接入

  • 数据源与共享存储:生产建议为集群配置JDBC 数据源(多数据源/故障转移/连接池参数按 SLA 调优);如应用有文件上传/共享内容,使用 NFS/SAN 做共享目录,并确保权限与 SELinux/防火墙策略正确。
  • 会话保持与复制:有状态应用启用 WebLogic Server 会话复制(如基于内存的复制或数据库会话持久化),并在应用描述符中配置会话亲和(如使用 与合适的 cookie-name)。跨节点复制依赖集群内通信,需保证网络稳定与端口可达。
  • 前端接入与发布:
    • 方案 A:硬件负载均衡器(F5/NGINX Plus 等)对外暴露 VIP:端口,后端健康探测 7001/7003,会话保持策略与后端算法按业务选择
    • 方案 B:Web 层代理 + WebLogic 代理插件(如 mod_wl/WebLogic Server Proxy Plug-In),将请求转发至集群地址
    • 方案 C:开发/测试可直接使用逗号分隔的服务器地址列表连接集群(不推荐生产)
    • 部署应用:控制台选择“集群部署”,一次部署到 my_cluster,验证各节点分发与健康检查。

五 启动与验证及常见问题

  • 启动顺序与常用命令:
    • 启动 AdminServer(主机 A):nohup ./startWebLogic.sh &
    • 启动 Node Manager(两台主机):$WL_HOME/server/bin/startNodeManager.sh
    • 启动受管服务器:控制台“控制”启动,或命令行:
      • ./startManagedWebLogic.sh server1 http://<主机A>:7001
      • ./startManagedWebLogic.sh server2 http://<主机A>:7001
  • 健康检查与验证:
    • 控制台查看服务器状态RUNNING集群页显示成员健康
    • 访问应用,检查会话保持故障转移(停止某节点后业务是否不受影响)
    • 日志排查:$DOMAIN_HOME/servers/serverX/logs/*.log 与 Node Manager 日志
  • 常见问题与要点:
    • 节点无法加入集群:核对 ListenAddress/端口计算机归属、防火墙Node Manager 状态
    • 会话不复制/丢失:确认应用 、复制策略与网络时延
    • 多播/跨防火墙问题:尽量同网段部署;跨域需评估多播或改用单播/T3通信与代理方案
    • 启动认证:在 $DOMAIN_HOME/servers//security/boot.properties 中配置 username/password 可实现免交互启动(首次需明文创建后自动加密)。

0