温馨提示×

linux weblogic怎样集群部署

小樊
44
2026-10-28 02:01:49
栏目: 智能运维

下面给你一个Linux 下 WebLogic 集群部署的系统性说明,涵盖架构、部署步骤、关键配置和常见注意点。以 Oracle WebLogic Server 12c/14c 为例(思路同样适用于 10g/11g)。


一、WebLogic 集群基本架构

典型集群结构:

            [ Load Balancer / Proxy ]
                   |
   ---------------------------------------
   |                 |                   |
[AdminServer]   [Managed Server 1]   [Managed Server 2]
 (管理服务器)      (节点1)             (节点2)
  • AdminServer:管理控制台,不跑业务
  • Managed Server:真正处理请求的实例
  • Node Manager:用于远程启动/停止 Managed Server(可选但推荐)
  • Cluster:逻辑组,多个 Managed Server 组成

二、部署前准备(Linux)

1. 环境要求

  • JDK(WebLogic 自带或系统 JDK)
  • 多台 Linux 服务器(或单台多实例)
  • 主机名 / IP 可解析(建议配置 /etc/hosts)
  • 防火墙开放端口(7001、7002、8001 等)

2. 软件安装

每台机器安装相同版本 WebLogic:

java -jar fmw_*.jar

或静默安装(silent.xml)


三、创建 Domain(在 Admin 节点)

方式一:图形化

cd /u01/oracle/weblogic/common/bin
./config.sh

选择:

  • Create a new domain
  • 模板:Base WebLogic Server Domain
  • 勾选 Managed Servers, Clusters and Machines

方式二:WLST 脚本(推荐生产)

readTemplate("/u01/oracle/weblogic/common/templates/wls/wls.jar")
cd('Servers/AdminServer')
set('ListenAddress','192.168.1.10')
set('ListenPort',7001)
cd('/')
create('Cluster1','Cluster')
cd('Clusters/Cluster1')
set('ClusterMessagingMode','unicast')

四、配置集群(关键步骤)

1. 创建 Managed Server

Server Name: ms1
Listen Address: 192.168.1.11
Port: 8001

Server Name: ms2
Listen Address: 192.168.1.12
Port: 8001

2. 加入 Cluster

ms1 -> Cluster1
ms2 -> Cluster1

3. 配置 Machines(可选但推荐)

Machine1 -> 192.168.1.11
Machine2 -> 192.168.1.12

用于 Node Manager 管理


五、应用部署到集群

方式一:控制台

  1. 登录 AdminServer
  2. Deployments → Install
  3. 选择应用(war / ear)
  4. 目标选择:Cluster1

方式二:WLST

deploy('appName','/path/app.war', targets='Cluster1')

六、前端负载均衡(重要)

WebLogic 本身不负责外部负载均衡,常见方案:

方案 1:WebLogic Proxy(HTTPClusterServlet)

  • 使用 WebLogic 做代理

方案 2:Nginx / Apache

upstream weblogic {
    server 192.168.1.11:8001;
    server 192.168.1.12:8001;
}

location / {
    proxy_pass http://weblogic;
}

七、启动集群(Linux)

1. 启动 AdminServer

nohup ./startWebLogic.sh &

2. 启动 Managed Server

./startManagedWebLogic.sh ms1 t3://192.168.1.10:7001 &
./startManagedWebLogic.sh ms2 t3://192.168.1.10:7001 &

或使用 Node Manager:

./startNodeManager.sh

八、集群会话复制(Session Replication)

在 web.xml 中:

<distributable/>

WebLogic 自动在集群内复制 Session


九、常见问题

1. 节点无法加入集群

  • 检查 multicast / unicast 配置
  • 检查防火墙
  • 检查时间同步(NTP)

2. AdminServer 崩溃不影响业务

  • 业务跑在 Managed Server

3. 单台机器多实例

  • 修改 Listen Port 和 JVM 参数

十、生产建议

✅ 使用 Node Manager
✅ 使用 unicast(不用 multicast)
✅ 使用 外部负载均衡
✅ 日志统一收集
✅ 自动启停脚本 + 监控


如果你需要:

  • ✅ 一步一步实操命令
  • ✅ 单台 Linux 多实例集群
  • ✅ WebLogic 14c + Nginx 示例
  • ✅ Docker / K8s 部署 WebLogic

可以直接告诉我你的版本和环境。

0 踩