同一服务器部署双WLS实例:ManagedServer启动Node Manager不可达报错求助
解决WLS 12.2.1.3启动ManagedServer时Node Manager不可达的问题
我之前在同一机器部署不同版本WebLogic时,也碰到过这个一模一样的坑,折腾了好一阵才捋顺,给你分享几个排查和解决的关键步骤:
1. 核对Node Manager监听配置与控制台Machine设置
首先得确保Node Manager实际监听的地址、端口,和控制台里Machine-1的配置完全一致:
- 打开12.2.1.3域下的
$DOMAIN_HOME/nodemanager/nodemanager.properties文件,查看两个核心参数:ListenAddress:如果设为localhost,可能导致控制台(尤其是用IP访问时)无法连接,建议改成机器的实际IP或者0.0.0.0(允许所有地址访问)ListenPort:默认是5556,如果你的12.1.3实例已经占用了这个端口,必须改成其他未被占用的端口(比如5557)
- 登录WLS控制台,找到环境 > 机器 > Machine-1 > Node Manager,把这里的地址、端口改成和
nodemanager.properties一致的配置,保存并激活更改。
2. 确认Node Manager安全模式与认证信息
WebLogic 12.2.1.3的Node Manager默认可能用SSL模式,要是控制台配置的模式不匹配,也会出现连接失败:
- 回到
nodemanager.properties,查看SecureListener参数:- 如果是
true,控制台里Machine的Node Manager要设为SSL模式,同时确保SSL证书配置正常(默认域创建时会自动生成,除非你手动修改过) - 如果是
false,控制台里要设为普通模式
- 如果是
- 另外检查认证信息:如果控制台配置了Node Manager的用户名密码,要确保和
nodemanager.properties里的Username、PasswordEncrypted匹配;如果用域用户认证,确认Node Manager已加入域的认证体系(域创建时默认配置完成,除非手动改动)
3. 排查端口占用与本地防火墙
哪怕是同一机器,也可能出现端口被占用或防火墙拦截的情况:
- 用命令检查Node Manager端口是否被正确占用:
netstat -tulpn | grep <你的Node Manager端口>,确保对应进程是12.2.1.3的Node Manager - 测试本地连接:用
telnet localhost <端口>或者nc -zv localhost <端口>,看能否正常连接,如果连不上,要么端口未开放,要么防火墙拦截了 - Linux机器可检查本地防火墙(比如firewalld或iptables),确保Node Manager端口被允许通过,也可临时关闭防火墙测试(测试完成后记得重新开启)
4. 检查Managed Server的关联配置
确保Managed Server确实关联到了正确的Machine,且启动设置无误:
- 控制台中找到环境 > 服务器 > 你的ManagedServer > 配置 > 一般信息,确认“机器”选择的是Machine-1
- 再看配置 > 启动,检查
StartScriptEnabled是否设为true(用Node Manager启动Managed Server时,这个参数必须开启,否则可能启动失败)
5. 查看日志定位精准错误
控制台的警告太笼统,直接去日志里找细节:
- Node Manager日志:
$DOMAIN_HOME/nodemanager/nodemanager.log,里面会记录连接请求的详细错误,比如认证失败、连接超时、端口冲突等 - AdminServer日志:
$DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log,这里会有控制台与Node Manager交互的报错信息,能帮你快速定位问题
我当时就是因为12.1.3占用了默认的5556端口,改了Node Manager端口但没同步控制台的Machine配置才出的错,调整后就正常启动了。
内容的提问来源于stack exchange,提问作者dkay703
相关产品推荐
相关产品推荐

