Linux 上 WebLogic 集群配置实操指南
一 架构与前置条件
- 架构选择:明确是否将多层应用放在单一集群还是分拆为多个集群;负载均衡采用WebLogic 内置、第三方负载均衡器还是HTTP Server + WebLogic 代理插件;规划 DMZ 与防火墙分层。跨多子网或 WAN 部署时,需按官方指引处理多播通信与路由。生产环境建议使用DNS 名称而非 IP,避免防火墙/NAT 场景的地址翻译问题。管理服务器一般不放入集群以降低复杂度与风险。
- 主机与网络:各主机使用静态 IP;同一主机可部署多个受管服务器,但监听端口必须唯一;集群成员通过多播进行心跳与服务通告,默认多播地址为239.192.0.0,端口自定义且不得与他用冲突;尽量避免跨防火墙部署集群,防火墙可能破坏多播通信。
- 资源与容量:单台多 CPU/多核主机可承载多个实例,建议从每 CPU 1 个实例起步,结合实际应用压测调优;为管理服务器、受管服务器、集群、数据源等资源设置唯一名称,避免配置歧义。
二 安装与域创建
- 安装 JDK:在所有节点安装相同版本 JDK,配置环境变量(示例:JAVA_HOME、PATH),并验证 java -version。
- 安装 WebLogic:在各节点安装相同版本 WebLogic(如 12c/14c),可使用通用安装包以静默方式部署,保持软件版本一致。
- 创建域与管理服务器:选择一个节点作为管理节点创建域,配置 AdminServer 的监听地址与端口(如 7001),生产环境建议监听具体主机名或 DNS 名称而非 localhost。
- 安全与启动准备:为 AdminServer 创建 boot.properties(放置于域目录下的 servers/AdminServer/security/),写入用户名与密码,便于无交互启动;如需远程启停受管服务器,建议在各节点配置 Node Manager。
三 集群与受管服务器配置
- 规划成员:至少准备2 台以上主机,每台部署一个或多个受管服务器;同一主机上的受管服务器使用不同端口。
- 配置集群:在管理控制台或 WLST 中新建集群(如 my_cluster),设置多播地址与端口(例如 239.192.x.x:port),确保不与其它程序冲突;为各受管服务器指定唯一的监听地址:端口,并将其分配到集群。
- 示例 WLST 片段(创建集群与受管服务器并分配):
- readTemplate(‘/opt/weblogic/wlserver/common/templates/wls/wls.jar’)
- set(‘AdminServerName’,‘AdminServer’)
- cd(‘/Server/AdminServer’); set(‘ListenAddress’,‘192.168.1.10’); set(‘ListenPort’,7001)
- cd(‘/’); create(‘my_cluster’,‘Cluster’)
- create(‘ms1’,‘Server’); cd(‘/Server/ms1’); set(‘ListenAddress’,‘192.168.1.11’); set(‘ListenPort’,7003)
- create(‘ms2’,‘Server’); cd(‘/Server/ms2’); set(‘ListenAddress’,‘192.168.1.12’); set(‘ListenPort’,7003)
- assign(‘Server’,‘ms1,ms2’,‘Cluster’,‘my_cluster’)
- writeDomain(‘/opt/weblogic/user_projects/domains/base_domain’)
四 启动与网络连通性验证
- 启动顺序:先启动AdminServer,再在各节点启动受管服务器(使用 startManagedWebLogic.sh 或 Node Manager 启动);首次启动使用 boot.properties 自动登录,后续无需交互。
- 控制台验证:访问 http://:7001/console,在“服务器”“集群”页检查实例与集群状态为 RUNNING,并核对各实例的监听地址与端口。
- 连通性检查:
- 管理通道:从各受管服务器到管理服务器的 T3/T3S 连通性(如 t3://admin-host:7001)。
- 集群多播:确保各节点间UDP 多播可达(同一网段/VLAN),必要时调整多播地址与端口并排除防火墙策略影响。
- 应用访问:若前端使用 WebLogic 代理插件或 HTTP Server,验证插件配置中的集群地址列表与后端实例一致。
五 部署与高可用要点
- 应用部署:在控制台选择集群部署(Distribute Application),一次部署即可同步到所有成员;对 EJB/Web 组件启用集群特性(如会话复制/亲和性),并根据需要配置 JDBC/JMS 的集群化与故障转移策略。
- 会话保持与复制:对 HTTP Session 选择复制策略(如 replication 或 database),并在前端负载均衡器上配置会话亲和性,避免会话丢失。
- 前端负载均衡:可采用 WebLogic Server 内置负载均衡、硬件/软件第三方负载均衡器或 Apache HTTP Server + WebLogic Proxy Plug-In;若使用插件,需在插件配置中列出集群成员的 listen address:port 列表,并确保插件与后端协议/端口一致。
- 防火墙与多播:尽量将集群置于同一安全域,避免跨防火墙;如必须跨域,确保多播流量被允许或改用适配的通信方式;不建议跨防火墙部署集群。