CentOS WebLogic集群负载均衡配置
导读:CentOS环境下WebLogic集群负载均衡配置指南 一、基础环境准备 操作系统与软件要求 所有节点使用CentOS 7.x/8.x 64位系统,确保内核版本兼容。 安装相同版本的WebLogic Server(建议12c及以上),避...
CentOS环境下WebLogic集群负载均衡配置指南
一、基础环境准备
- 操作系统与软件要求
- 所有节点使用CentOS 7.x/8.x 64位系统,确保内核版本兼容。
- 安装相同版本的WebLogic Server(建议12c及以上),避免因版本差异导致集群功能异常。
- 所有节点安装JDK 1.8及以上(WebLogic 14c及以上需JDK 11+),配置
JAVA_HOME环境变量并验证java -version输出正确。
- 网络与节点配置
- 所有节点配置静态IP地址,确保节点间网络互通(可通过
ping命令测试)。 - 同步节点时间(使用
ntpdate命令或 chrony 服务),避免会话同步或集群通信因时间偏差失败。
- 所有节点配置静态IP地址,确保节点间网络互通(可通过
- 防火墙设置
- 开放WebLogic集群端口(默认管理端口
7001、T3协议端口7002、HTTP监听端口8001等),执行firewall-cmd --add-port=7001/tcp --permanent并firewall-cmd --reload。 - 若使用SELinux,设置为宽松模式(
setenforce 0)或配置相应策略允许WebLogic通信。
- 开放WebLogic集群端口(默认管理端口
二、安装与创建WebLogic域
- 安装WebLogic Server
- 下载Oracle官方WebLogic安装包(如
wls1411_generic.jar),使用java -jar wls1411-generic.jar启动图形化安装向导,选择“自定义安装”并完成基础组件安装(如WebLogic Server、Coherence等)。
- 下载Oracle官方WebLogic安装包(如
- 创建WebLogic域
- 进入WebLogic安装目录下的
common/bin文件夹,执行./config.sh启动配置向导。 - 选择“创建新域”,输入域名(如
base_domain)和管理员账号(如weblogic/Welcome1)。 - 在“服务器模板”步骤,选择“管理服务器”和“受管服务器”模板(用于后续集群配置)。
- 完成向导后,在
user_projects/domains/base_domain目录生成域配置文件。
- 进入WebLogic安装目录下的
三、配置WebLogic集群
- 创建集群
- 登录WebLogic管理控制台(
http://管理服务器IP:7001/console),导航至环境→集群。 - 点击“新建”,输入集群名称(如
myCluster),选择集群模式(受管服务器集群),点击“下一步”。 - 选择“创建新的服务器模板”或使用现有模板(如“Basic WebLogic Server Domain”),点击“完成”。
- 登录WebLogic管理控制台(
- 添加受管服务器到集群
- 在集群配置页面,点击服务器→新建,输入受管服务器名称(如
managed1、managed2)。 - 配置受管服务器监听地址(如
managed1_ip)和端口(如8001),点击“下一步”并完成创建。 - 重复上述步骤添加所有受管服务器,确保所有受管服务器均加入集群。
- 在集群配置页面,点击服务器→新建,输入受管服务器名称(如
四、配置负载均衡策略
- 通过管理控制台配置
- 在集群配置页面,点击负载均衡选项卡。
- 勾选“启用负载均衡”,选择负载均衡算法:
- 轮询(Round Robin):默认算法,按顺序分发请求,适用于服务器性能相近的场景。
- 最少连接(Least Connections):将请求分发给当前连接数最少的服务器,适用于长连接场景。
- 随机(Random):随机选择服务器,适用于流量均匀的场景。
- 点击“保存”并激活配置。
- 通过WLST脚本配置
- 使用WebLogic脚本工具(WLST)执行以下命令:
connect('weblogic', 'Welcome1', 't3://管理服务器IP:7001') edit() startEdit() cd('/Clusters/myCluster') cmo.setLoadBalancingEnabled(true) cmo.setLoadBalancingAlgorithm('RoundRobin') # 可替换为LeastConnections/Random save() activate() disconnect()
- 使用WebLogic脚本工具(WLST)执行以下命令:
五、配置会话持久性(可选但推荐)
为确保用户会话在服务器故障时不丢失,需配置会话复制或外部持久化存储:
- 会话复制(适用于同数据中心集群)
- 在集群配置页面,点击配置→会话复制,勾选“启用会话复制”。
- 选择复制组(如
myClusterReplicationGroup),设置复制类型为“内存到内存”(适用于小规模集群)或“数据库持久化”(适用于大规模集群)。
- JDBC持久化(适用于跨数据中心或大规模集群)
- 创建JDBC数据源(如
SessionDB),指向共享数据库(如MySQL、Oracle)。 - 在集群配置页面,点击配置→会话持久化,选择“JDBC持久化”并关联创建的数据源。
- 创建JDBC数据源(如
六、配置反向代理(可选但推荐)
为隐藏WebLogic集群内部结构、提高安全性及扩展性,建议使用Nginx或HAProxy作为反向代理:
- 使用Nginx配置反向代理
- 安装Nginx:
sudo yum install epel-release & & sudo yum install nginx。 - 编辑Nginx配置文件(
/etc/nginx/nginx.conf),添加以下内容:http { upstream weblogic_cluster { server managed1_ip:8001; server managed2_ip:8001; # 添加更多受管服务器 } 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; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } } - 重启Nginx:
sudo systemctl restart nginx。
- 安装Nginx:
- 使用HAProxy配置反向代理
- 安装HAProxy:
sudo yum install haproxy。 - 编辑HAProxy配置文件(
/etc/haproxy/haproxy.cfg),添加以下内容:global log /dev/log local0 log /dev/log local1 notice maxconn 4096 defaults log global mode http option httplog timeout connect 5000ms timeout client 50000ms timeout server 50000ms frontend http_front bind *:80 default_backend http_back backend http_back balance roundrobin server managed1 managed1_ip:8001 check server managed2 managed2_ip:8001 check - 重启HAProxy:
sudo systemctl restart haproxy。
- 安装HAProxy:
七、测试与验证
- 验证集群状态
- 登录WebLogic管理控制台,导航至环境→服务器,检查所有受管服务器状态是否为“运行中”。
- 查看集群监视→健康页面,确认集群健康状态为“OK”。
- 验证负载均衡
- 访问反向代理地址(如
http://yourdomain.com),通过多次刷新页面或使用ab(Apache Benchmark)工具测试,观察请求是否分发到不同受管服务器(可通过WebLogic日志中的Server字段确认)。
- 访问反向代理地址(如
- 验证会话持久性
- 登录应用程序并创建会话(如登录账号),关闭浏览器后重新打开,确认仍能保持登录状态(说明会话复制或持久化生效)。
八、注意事项
- 统一配置:所有节点的WebLogic版本、JDK版本、配置文件(如
setDomainEnv.sh)需保持一致,避免兼容性问题。 - 监控与优化:使用WebLogic监控工具(如WebLogic Console的“监视”模块)或第三方工具(如Prometheus+Granafa)监控集群性能,根据负载情况调整负载均衡算法(如高峰时段使用“最少连接”)。
- 高可用性:建议将反向代理部署在高可用集群(如Nginx+Keepalived),避免单点故障。
- 安全配置:启用WebLogic SSL(如管理端口使用
7002),配置Nginx HTTPS(如使用Let’s Encrypt证书),限制反向代理与WebLogic集群间的通信权限(如仅允许内网IP访问)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS WebLogic集群负载均衡配置
本文地址: https://pptw.com/jishu/743831.html
