CDH重启cloudera-scm-agent报错:No socket could be created — ((‘127.0.0.1’, 9001): [Errno 98] Address already in use)

CDH集群重启 cloudera-scm-agent ,发现重启失败,查看日志如下:


[21/Jul/2023 19:49:10 +0000] 11006 HTTPServer Thread-2 _cplogging ERROR [21/Jul/2023:19:49:10] ENGINE Error in HTTP server: shutting down Traceback (most recent call last): File “/opt/cloudera/cm-agent/lib/python2.7/site-packages/cherrypy/process/servers.py”, line 225, in _start_http_thread self.httpserver.start() File “/opt/cloudera/cm-agent/lib/python2.7/site-packages/cheroot/server.py”, line 1326, in start raise socket.error(msg) error: No socket could be created — ((‘127.0.0.1’, 9001): [Errno 98] Address already in use)

错误表明 cloudera-scm-agent 在启动时无法创建HTTP服务器的套接字,原因是地址 127.0.0.1:9001 已经被占用了。这通常意味着另一个进程已经在监听相同的IP地址和端口号,导致 cloudera-scm-agent 无法绑定到该地址。

解决方案:

要解决这个问题,可以采取以下步骤:

  1. 查找占用端口的进程: 使用以下命令查找占用9001端口的进程:bash复制代码sudo netstat -tlnp | grep 9001 这将显示占用9001端口的进程的相关信息,包括进程ID (PID) 和进程名。
  2. 停止占用端口的进程: 如果上一步找到了占用9001端口的进程,可以尝试停止该进程,释放端口。使用以下命令杀死该进程(请注意替换 <PID> 为实际的进程ID):bash复制代码sudo kill <PID> 或者,如果是已知的服务进程,可以使用该服务的控制命令来停止服务。
  3. 修改端口号: 如果停止占用端口的进程不可行或不适合你的情况,可以考虑修改 cloudera-scm-agent 的配置,将其绑定到一个空闲的端口上。你可以编辑配置文件中的端口号,然后重新启动 cloudera-scm-agent
  4. 确保正确配置: 确保 cloudera-scm-agent 的配置正确,并没有指定错误的端口号。
  5. 防火墙和安全组规则: 检查服务器的防火墙设置和网络安全组规则,确保端口号没有被阻止。
  6. 检查其他应用程序: 确保没有其他应用程序意外地使用了9001端口。
  7. 重新启动服务: 尝试重新启动 cloudera-scm-agent 服务。



关注公众号“大模型全栈程序员”回复“小程序”获取1000个小程序打包源码。更多免费资源在http://www.gitweixin.com/?p=2627

发表评论

邮箱地址不会被公开。 必填项已用*标注