大家好,又见面了,我是你们的朋友全栈君。
通过命令:zkServer.sh start启动Zookeeper后,jps查看进程发现全部启动正确,但是在通过zkServer.sh status查看启动状态,却出现如下现象:
通过上述问题可以考虑到的点是配置的三台节点另外两台没有启动。但是可以确定的是另外两台节点也都启动了Zookeeper。
解决方案:
1. 首先查看防火墙是否关闭。如果防火墙开启会影响三点节点的通信,导致接收不到另外两台节点信息。我是上午关闭了虚拟机,下午再打开时没有将防火墙关闭,查看防火墙果然处于活跃状态!
赶紧将防火墙关闭之后,在重启Zookeeper,显示启动 :
2. 如果上述方法无法解决,可以将zoo.cfg下的dataDir对应目录下的version-2文件夹和zookeeper_server.pid文件删除掉,因为意外关闭虚拟机会导致意外关闭前的pid文件残留。删除之后再尝试重新启动Zookeeper。
这里整理了一般遇到Zookeeper集群报错的解决思路:
1、首先检查自己的防火墙是否关闭
systemctl status firewalld systemctl stop firewalld
2、检查自己是否安装了JDK。因为Zookeeper的运行需要JVM环境,如果没有安装,则不能正常启动Zookeeper。
这里可以通过 java 或 java -version命令查看
3、查看Zookeeper客户端端口2181是否被占用。如果被占用,则使用 kill 命令杀死进程。
可以使用 netstat -apn | grep 2181 或者 lsof -i:2181 命令查看
4、删除dataDir对应目录下除了 myid 以外的所有文件
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/189504.html原文链接:https://javaforall.cn