ZBLOG

lin@Ubuntu:~/github/kafka$ lsof -i:2181 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 32797 lin 142u IPv6 326691 0t0 TCP *:2181 (LISTEN) lin@Ubuntu:~/github/kafka$

根据你提供的输出,端口 2181 已经被一个 Java 进程(PID 为 32797)占用。这就是为什么你在启动 ZooKeeper 时遇到 Address already in use 错误的原因。

解决步骤

  1. 停止占用端口的进程: 如果这个 Java 进程是一个不再需要运行的服务,比如之前启动的 ZooKeeper 实例,你可以停止它。使用以下命令:

    kill -9 32797
    

    注意:使用 -9 参数强制终止进程,请确保这是安全的操作。

  2. 确认进程已经停止: 再次检查端口是否已经被释放:

    lsof -i:2181
    

    如果没有输出,则表示该端口现在空闲,可以尝试重新启动你的 ZooKeeper 服务。

  3. 更改 ZooKeeper 的监听端口(可选): 如果你希望同时运行多个实例,可以选择在配置文件 zoo.cfg 中将 clientPort 更改为其他未被使用的端口,例如:

    clientPort=2182
    

    修改后,重新启动 ZooKeeper。

  4. 确认 ZooKeeper 正常运行: 在成功启动之后,可以通过以下命令检查 ZooKeeper 状态:

    echo ruok | nc localhost 2181
    

    如果返回 imok,则表示 ZooKeeper 正在正常运行。

总结

通过上述步骤,你应该能够解决占用问题,并顺利启动 ZooKeeper。如果还有其他问题或需要进一步帮助,请随时告知!


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:http://sdn.0voice.com/?id=6503

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?