温馨提示×

Ubuntu如何实现WebLogic的高可用部署

小樊
35
2025-12-18 16:44:25
栏目: 智能运维

Ubuntu上WebLogic高可用部署实践

一、架构与前置条件

  • 架构建议:至少准备2台Ubuntu 20.04/22.04服务器,每台部署1个AdminServer + 1个或多个Managed Server;多台机器组成WebLogic集群;前置HAProxy + Keepalived提供VIP与故障切换;对外仅暴露VIP与必要端口,管理端口限制内网访问。
  • 基础环境:安装JDK 11(生产推荐),创建weblogic系统用户与目录,下载并解压Oracle WebLogic(或使用Docker镜像方式);如使用容器,准备DockerDocker Compose。上述步骤在Ubuntu上均可按常规方式完成。

二、安装与域配置

  • 安装Java与创建用户
    • 安装JDK并验证版本;创建weblogic用户与目录,设置环境变量(示例:JAVA_HOME、MW_HOME)。
  • 安装WebLogic
    • 方式A 原生安装:解压安装包,执行配置向导创建域(生产模式),记录AdminServer端口(默认7001)。
    • 方式B 容器化:基于Oracle基础镜像编写Dockerfile,使用WLST脚本创建域,暴露7001等端口,便于编排与横向扩展。
  • 配置节点管理器(推荐)
    • 在每台机器启动Node Manager,用于远程启停Managed Server与健康检查;受管服务器首次可脚本启动一次后交由节点管理器托管,便于自动拉起与运维。

三、创建集群与部署应用

  • 在管理控制台创建集群
    • 导航至Environment → Clusters → New,创建集群(如:cluster1),选择集群通讯方式(如Unicast),保存配置。
  • 添加托管服务器并加入集群
    • 在“Servers”中新建受管服务器(如:ms1、ms2…),指定Listen Address/Port,将服务器分配到cluster1;建议跨机分布实例以形成故障域隔离。
  • 分发与启动
    • 通过控制台或WLST将受管服务器启动/停止;确认各实例“Health”为OK、集群通信正常。
  • 部署应用
    • 将应用以Cluster为目标进行部署(选择“All servers in the cluster”),启用会话复制(如使用MemoryJDBCCoherence等复制策略,视应用而定),验证在多个实例间均衡与故障切换。

四、负载均衡与高可用

  • HAProxy + Keepalived 方案(示例)
    • 在两台负载均衡器上安装HAProxy,配置后端为各受管服务器的7001端口,开启HTTP/HTTPS健康检查会话保持(如基于cookie);安装Keepalived配置VRRP,对外暴露VIP(如:192.168.10.100),实现主备自动切换。
    • 示例HAProxy健康检查片段:
      backend weblogic_cluster
        balance roundrobin
        option httpchk GET /console
        http-check expect status 200
        server ms1 10.0.0.11:7001 check inter 5s rise 2 fall 3
        server ms2 10.0.0.12:7001 check inter 5s rise 2 fall 3
      
    • 示例Keepalived(主)配置片段:
      vrrp_instance VI_1 {
        state MASTER
        interface eth0
        virtual_router_id 51
        priority 100
        advert_int 1
        virtual_ipaddress { 192.168.10.100/24 }
      }
      
    • 客户端仅访问VIP:7001/console与业务端口,实现L4/L7转发与VIP漂移的高可用。

五、验证与运维要点

  • 验证清单
    • 控制台可登录,集群页显示各实例Running/Health OK;应用以Cluster部署后,会话故障切换生效(可断一台受管服务器或关闭其网络验证);HAProxy统计页显示后端UP,Keepalived切换VIP后业务不中断。
  • 运维建议
    • 使用Node Manager统一管理受管服务器,配置自动重启与告警;为AdminServer与管理端口设置防火墙白名单与访问控制;启用日志轮转GC日志;定期备份域目录数据源配置;容器化场景使用健康检查滚动升级策略。

0