Debian下WebLogic集群搭建方法
小樊
34
2025-12-07 05:51:02
Debian下WebLogic集群搭建方法
一 环境准备与约定
- 准备至少2台 Debian 稳定版服务器(建议2核CPU、8GB内存、200GB存储),并规划主机名与IP:例如admin.example.com(192.168.10.10)、node1.example.com(192.168.10.11)、node2.example.com(192.168.10.12)。
- 安装 Java(二选一):
- OpenJDK:sudo apt update && sudo apt install openjdk-11-jdk
- Oracle JDK 8:下载 tar.gz,解压至**/usr/lib/jvm**,设置环境变量:
- echo ‘export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_XXX’ | sudo tee -a /etc/profile
- echo ‘export PATH=$JAVA_HOME/bin:$PATH’ | sudo tee -a /etc/profile
- source /etc/profile
- 创建部署用户(示例:weblogic:weblogic),目录建议:安装至**/opt/weblogic**,域目录**/u01/app/weblogic/domains**。
- 系统与安全:
- 开放端口:7001(AdminServer)、7002/7003(托管服务器)、5556(节点管理器),并关闭或放行防火墙对应规则。
- 建议启用NTP做时间同步,避免集群通信异常。
二 安装WebLogic与创建域
- 安装介质:从 Oracle 获取 WebLogic Server 12c/14c 的 Linux 安装包(.zip 或 .tar.gz),解压至**/opt/weblogic**。
- 创建管理域(在管理节点执行):
- 进入安装目录的域模板工具:/opt/weblogic/wlserver/common/bin/config.sh
- 选择“Create a new domain”,域名示例:base_domain,管理端口:7001,域目录:/u01/app/weblogic/domains/base_domain
- 完成后在域目录**/u01/app/weblogic/domains/base_domain/bin可看到startWebLogic.sh与setDomainEnv.sh**。
- 验证管理服务器:
- 启动:nohup ./startWebLogic.sh > admin.out 2>&1 &
- 访问:http://admin.example.com:7001/console,使用创建域时设置的账号登录。
三 配置集群与托管服务器
- 方式A(控制台):登录控制台,导航到Environment → Clusters → New,创建集群(示例:myCluster,地址:multicast或unicast)。随后在Servers → Add创建托管服务器(示例:server1:7002、server2:7003),并在“Cluster”中选择myCluster。
- 方式B(WLST,示例脚本):
- 进入 WLST:/opt/weblogic/oracle_common/common/bin/wlst.sh
- 连接管理服务器:connect(‘weblogic’,‘密码’,‘t3://admin.example.com:7001’)
- 编辑并创建:
- edit()
- startEdit()
- cd(‘/’)
- cmo.createCluster(‘myCluster’)
- cd(‘/Servers/server1/’)
- cmo.setCluster(getMBean(‘/Clusters/myCluster’))
- cd(‘/Servers/server2/’)
- cmo.setCluster(getMBean(‘/Clusters/myCluster’))
- activate(block=‘true’)
- 节点管理器(推荐):在两台托管服务器所在主机分别配置Node Manager(域目录**/u01/app/weblogic/domains/base_domain/bin/startNodeManager.sh**),在控制台Environment → Machines → New添加机器,在Servers → Control中通过节点管理器远程启动托管服务器。
四 负载均衡与高可用
- 外部负载均衡:在Apache HTTP Server或Nginx前放置集群,启用mod_proxy_balancer或upstream,后端指向各托管服务器(示例:http://192.168.10.11:7002、http://192.168.10.12:7003),会话保持可用JSESSIONID或应用级亲和策略。
- 应用部署与验证:
- 在控制台Deployments → Install,选择应用并部署到myCluster(目标为集群而非单个服务器)。
- 访问应用,检查各节点日志与控制台Servers页状态为RUNNING,并通过多次刷新或摘除节点验证负载均衡与故障转移。
五 常见问题与运维要点
- 通信与端口:确保7001/7002/7003/5556互通,主机名可解析;若使用multicast,确认交换机/云环境未限制组播;若使用unicast,保证各节点网络延迟与丢包在可接受范围。
- 时间同步:集群节点务必NTP同步,避免因时间漂移导致会话复制、日志与监控异常。
- JVM与内存:为托管服务器设置合适的**-Xms/-Xmx**,避免频繁 Full GC;生产环境建议开启GC日志与HeapDump。
- 安全加固:限制管理端口访问、启用SSL/TLS、最小权限原则配置WebLogic用户与启动账号。
- 备份与回滚:定期备份域目录与应用包,变更前快照,回滚有据可依。