解决zookeeper报错:java.net.BindException: 地址已在使用,是因为端口被占用。显示Starting zookeeper ... STARTED,jps没有QuorumPeerMain进程。
问题截图:
看似Starting zookeeper ... STARTED,实则集群并没有启动起来。从jps没有QuorumPeerMain进程就能够看出来。
[main:NIOServerCnxnFactory@89] - 绑定到端口 0.0.0.0/0.0.0.0:2181 2023-11-09 21:05:49,443 [myid:2] - ERROR [main:QuorumPeerMain@89] - 发生意外异常,异常退出 java.net.BindException: 地址已在使用
这里我们通过打开zookeeper.out文件可以看到“2181”端口被占用。
解决方法:
第一步:拿到进程号
sudo netstat -nltp | grep 2181
第二步:杀掉该进程
sudo kill -9 4988
不同人的号码不一样,请大家执行第一步。
第三步:重启zookeeper
效果展示:
QuorumPeerMain终于出现了。成功!