说明
在一台服务器上部署两台zookeeper,在一台启动成功后,另一台怎么也无法启动成功问题
[dc@172-16-138-170 log]$ cat zookeeper.out
Error: Exception thrown by the agent : `java.rmi.server.ExportException`: Port already in use: 9999; nested exception is:
java.net.BindException: Address already in use
观察日志说明端口占用,查看步骤为
- 查看zookeeper配置文件中的端口是否一致
- 使用ps -ef | grep 端口,查看端口是否被占用
- 如果被占用,使用 kill -9 删除进程
- 如果端口也没被占用,还是出现以上报错的话
- 这是因为启动文件zkServer.sh文件中,zookeeper的远程连接端口被占用了
解决办法
需要找到zkServer.sh的启动文件,找到之后,进入里面找到配置
vi zkServer.sh
找到下面这行配置
-Dcom.sun.management.jmxremote.port=9999
之后把把远程端口改为8888,或者其他的端口即可
-Dcom.sun.management.jmxremote.port=8888
以上描述可解决zookeeper伪分布式部署出现的问题