You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

启动Nodeagent时遭遇ORBX0390E及WSVR0009E错误,请求技术解决方案

解决Nodeagent启动时端口9101被占用的问题

你在启动Nodeagent时碰到的这个错误,核心原因就是端口9101被其他进程占用了,先把你遇到的错误日志贴出来方便参考:

ORBRas E com.ibm.ws.orbimpl.transport.WSTransport createServerSocket P=146590:O=0:CT ORBX0390E: 无法创建监听线程。异常信息=[ java.net.BindException: 套接字名称已被占用。- 在尝试打开端口9101上的服务器套接字时收到该异常 ]。[9/28/22 22:42:29:445 GMT+05:30] 00000001 WsServerImpl E WSVR0009E: 启动过程中发生错误。

下面是几个经过验证的有效解决方案,按优先级执行:

1. 定位占用9101端口的进程

不同操作系统用不同命令,直接抄作业就行:

  • Linux/Unix环境
    执行netstat -tulpn | grep 9101或者ss -tulpn | grep 9101,输出里会显示占用端口的进程ID(PID)和进程名,比如类似tcp 0 0 0.0.0.0:9101 0.0.0.0:* LISTEN 1234/java,这里1234就是PID。
  • Windows环境
    打开命令提示符,先跑netstat -ano | findstr :9101,找到对应的PID后,再用tasklist /FI "PID eq 1234"替换成你的PID,就能看到是哪个进程在占用。

2. 终止占用端口的进程

如果这个进程是多余的(比如之前异常挂掉的Nodeagent、其他没用的WebSphere组件),直接干掉它:

  • Linux/Unixkill -9 <你的PID>,强制终止进程,确保彻底关掉。
  • Windows:要么打开任务管理器,找到对应PID的进程右键“结束任务”,要么用命令taskkill /F /PID <你的PID>

杀完进程后再重启Nodeagent,大概率就能正常启动了。

3. 没法杀进程?那就改Nodeagent的端口

如果占用9101的进程是必须运行的,那咱们换个端口用:

方法一:通过WebSphere管理控制台修改

  1. 确保部署管理器能正常启动,打开管理控制台。
  2. 依次点击系统管理 > 节点代理,选中你要修改的Nodeagent。
  3. 点击页面里的端口选项卡,找到ORB_LISTENER_ADDRESS对应的端口(就是9101),改成一个没被占用的端口号比如9102。
  4. 保存配置,同步到对应节点,然后重启Nodeagent。

方法二:直接修改配置文件

如果控制台没法用,直接改配置文件:
找到Nodeagent的配置文件路径:<节点根目录>/nodeagent/config/cells/<单元格名称>/nodes/<节点名称>/serverindex.xml
打开文件后搜索ORB_LISTENER_ADDRESS,找到里面的<port>9101</port>标签,把9101改成新端口,保存后重启Nodeagent就行。

4. 最后排查防火墙/安全组

虽然错误提示是端口被占用,但也可以顺便检查一下9101端口有没有被防火墙或者安全组拦截,确保端口处于开放状态,避免后续出现其他绑定问题。

内容的提问来源于stack exchange,提问作者Gandhi Rao

火山引擎 最新活动