下面给你一个在 CentOS 上部署 WebLogic 集群的实战级流程(以 WebLogic 12c / 14c 为例,Linux x64,生产可用思路)。
| 角色 | 主机 | 说明 |
|---|---|---|
| AdminServer | 192.168.1.10 | 管理服务器 |
| Node1 | 192.168.1.11 | 受管服务器1 |
| Node2 | 192.168.1.12 | 受管服务器2 |
也可以单机多 Server(测试环境),生产建议分离。
yum install -y java-1.8.0-openjdk-devel
java -version
groupadd weblogic
useradd -g weblogic weblogic
passwd weblogic
systemctl stop firewalld
systemctl disable firewalld
# 或放行
firewall-cmd --add-port=7001/tcp --permanent
firewall-cmd --add-port=7002-7010/tcp --permanent
firewall-cmd --reload
fmw_14.1.1.0.0_wls_lite_generic.jar
创建 wls.rsp:
[ENGINE]
Response File Version=1.0.0.0.0
[GENERIC]
ORACLE_HOME=/u01/weblogic
INSTALL_TYPE=WebLogic Server
DECLINE_AUTO_UPDATES=true
创建 oraInst.loc:
inventory_loc=/u01/oraInventory
inst_group=weblogic
安装:
java -jar fmw_14.1.1.0.0_wls_lite_generic.jar \
-silent -responseFile /u01/wls.rsp -invPtrLoc /u01/oraInst.loc
cd /u01/weblogic/wlserver/common/bin
./commEnv.sh
使用 wlst:
readTemplate('/u01/weblogic/wlserver/common/templates/wls/wls.jar')
cd('Servers/AdminServer')
set('ListenAddress','192.168.1.10')
set('ListenPort',7001)
cd('/')
cd('Security/base_domain/User/weblogic')
set('Password','Weblogic@123')
writeDomain('/u01/domains/base_domain')
closeTemplate()
exit()
启动 AdminServer:
/u01/domains/base_domain/bin/startWebLogic.sh
http://192.168.1.10:7001/consoleconnect('weblogic','Weblogic@123','t3://192.168.1.10:7001')
edit()
startEdit()
cmo.createServer('Server1')
svr=cmo.lookupServer('Server1')
svr.setListenPort(7002)
svr.setListenAddress('192.168.1.11')
cmo.createCluster('myCluster')
cl=cmo.lookupCluster('myCluster')
svr.setCluster(cl)
save()
activate()
exit()
所有受管节点启动:
/u01/weblogic/wlserver/server/bin/startNodeManager.sh
配置 nodemanager.properties:
ListenAddress=0.0.0.0
ListenPort=5556
WebLogicHome=/u01/weblogic
Admin:
startWebLogic.sh
Node:
startNodeManager.sh
控制台 → Servers → 启动 Server1 / Server2
Environment → Clustershttp://192.168.1.11:7002/app
http://192.168.1.12:7002/app
| 问题 | 原因 |
|---|---|
| 无法连接 Node | 防火墙 / nodemanager 未启动 |
| 集群不同步 | Admin 未启动或网络不通 |
| 启动慢 | 随机数 /dev/random 问题 |
优化:
JAVA_OPTIONS="-Djava.security.egd=file:/dev/./urandom"
如果你需要:
告诉我你的版本和使用场景,我可以直接给你定制脚本。