温馨提示×

如何在Linux上配置WebLogic的高可用性

小樊
46
2025-10-03 22:30:41
栏目: 智能运维

一、环境准备

  • 基础环境:选择稳定的Linux发行版(如CentOS 7/8、Ubuntu 20.04 LTS),确保系统已更新至最新版本;安装必要工具(如wgetunzipvim),配置静态IP地址(每台服务器需唯一)。
  • 软件要求:下载WebLogic Server安装包(需购买或获取集群授权,标准版不支持集群功能);安装匹配的JDK(推荐JDK 8或11,需配置JAVA_HOME环境变量,如export JAVA_HOME=/usr/java/jdk1.8.0_201,并添加至PATH)。
  • 用户与权限:创建专用WebLogic用户(如weblogic),并设置密码;将WebLogic安装目录(如/opt/weblogic)的所有权赋予该用户(chown -R weblogic:weblogic /opt/weblogic),避免权限问题。

二、安装与创建域

  • 安装WebLogic:以weblogic用户登录,解压安装包至目标目录(如unzip wls12c_generic.jar -d /opt/weblogic);运行配置脚本(/opt/weblogic/Oracle/Middleware/wlserver_12.2.1.4.0/common/bin/config.sh),选择“典型安装”类型,设置域名称(如mycluster_domain)、管理员账号(如admin/Welcome1)、JDK路径,完成域创建。
  • 配置域环境:编辑域目录下的setDomainEnv.sh脚本,调整JVM内存参数(如-Xms512m -Xmx1024m),确保满足应用需求;设置CLASSPATH包含WebLogic核心库(如$WL_HOME/server/lib/weblogic.jar)。

三、配置WebLogic集群

  • 创建集群:登录WebLogic管理控制台(http://admin_server_ip:7001/console),导航至“环境”→“集群”,点击“新建”,输入集群名称(如my_cluster),选择集群模式(如“开发”或“生产”),点击“保存”。
  • 添加受管服务器:在“环境”→“服务器”→“新建”中,选择“受管服务器”,输入服务器名称(如managed1managed2),选择集群(my_cluster),配置监听地址(如managed1.example.com)和端口(如8001),重复操作创建多个受管服务器。
  • 配置集群地址:在集群配置页面,设置“集群地址”(如managed1.example.com:8001,managed2.example.com:8001),用于客户端访问集群;确认“集群消息传递”设置为多播(默认)或单播(需指定组成员IP)。

四、配置负载均衡

  • 选择负载均衡器:推荐使用Nginx(轻量高效)或HAProxy(高性能),安装于独立服务器或前端代理服务器上。
  • 配置负载均衡规则:以Nginx为例,编辑/etc/nginx/nginx.conf,添加如下配置:
    upstream weblogic_cluster {
        server managed1.example.com:8001;
        server managed2.example.com:8001;
        # 启用健康检查(Nginx Plus支持,开源版需插件)
        # health_check interval=5s fails=3 passes=2 uri=/health;
    }
    server {
        listen 80;
        server_name yourdomain.com;
        location / {
            proxy_pass http://weblogic_cluster;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
    
  • 启用健康检查:通过插件(如Nginx Amplify)或自定义脚本,定期检查受管服务器的健康状态(如访问/health接口),自动剔除故障节点,确保流量仅分发至健康服务器。

五、配置高可用特性

  • 会话复制:在集群配置页面,启用“会话复制”功能,选择复制组(如my_replication_group);确保所有受管服务器属于同一复制组,WebLogic会自动同步HTTP会话状态,实现故障转移时用户会话不丢失。
  • 故障转移:配置“自动故障转移”策略(如“优先级”或“轮询”),当某受管服务器故障时,集群自动将请求转移至其他健康服务器;对于EJB或JDBC等资源,配置“可迁移目标”(Migratable Targets),确保服务在服务器重启后自动迁移至其他节点。
  • 共享存储:对于需要持久化的数据(如JDBC数据库、JMS队列),配置共享存储(如SAN、NAS),确保所有服务器可访问相同数据;或使用数据库集群(如Oracle RAC),保证数据的高可用性。

六、启动与验证集群

  • 启动集群:首先启动管理服务器(/opt/weblogic/Oracle/Middleware/wlserver_12.2.1.4.0/user_projects/domains/mycluster_domain/startWebLogic.sh);然后通过Node Manager启动受管服务器(/opt/weblogic/Oracle/Middleware/wlserver_12.2.1.4.0/common/bin/startManagedWebLogic.sh managed1 http://admin_server_ip:7001),或直接运行受管服务器脚本(/opt/weblogic/Oracle/Middleware/user_projects/domains/mycluster_domain/bin/startManagedWebLogic.sh managed1)。
  • 验证高可用性:通过管理控制台查看集群状态(所有服务器应为“运行”状态);使用curl或浏览器访问集群地址(如http://yourdomain.com),多次刷新验证负载均衡效果;模拟故障(如停止某受管服务器),检查请求是否自动转移至其他服务器,会话是否保持一致。

七、监控与维护

  • 监控集群状态:使用WebLogic管理控制台的“监控”→“集群”页面,查看服务器状态、会话数量、CPU/内存使用率等指标;或集成第三方监控工具(如Prometheus+Grafana),设置告警规则(如服务器宕机、内存超过阈值)。
  • 日志管理:配置WebLogic日志级别(如INFODEBUG),定期检查server.log(位于/opt/weblogic/Oracle/Middleware/user_projects/domains/mycluster_domain/servers/managed1/logs/)中的错误信息;使用logrotate工具归档日志,避免日志文件过大。
  • 备份与恢复:定期备份域配置(如/opt/weblogic/Oracle/Middleware/user_projects/domains/mycluster_domain),可使用tar命令(tar -czvf mycluster_domain_backup.tar.gz /opt/weblogic/Oracle/Middleware/user_projects/domains/mycluster_domain);制定灾难恢复计划,测试备份文件的恢复流程(如还原至新服务器,启动集群)。

0