如何解决zookeeper集群重启Error contacting service.It is probably not running问题
一 问题出现情形
1.集群启动后异常关闭,重启出错
2.集群未正常启动
二 查看zookeeper.out分析原因
cat zookeeper.out
1.网络问题
排查防火墙
java.net.NoRouteToHostException: 没有到主机的路由 (Host unreachable)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:558)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:610)
at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:838)
at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:957)
解决步骤:
问题排查 7 ->[2、6] ->重启集群
2.初次启动
解决步骤:
问题排查1-->2-->3-->4-->5-->7-->重启集群
备注:
- 初次启动 个个环节都有可能有问题
- 如果有报错信息可以针对性解决
3.重新启动
解决步骤:
暂停集群-->2-->6-->7-->重启集群
备注:
- 重新启动主要是,节点配置信息问题以及防火墙问题。
- 需要按顺序,暂停zookeeper,kill进程,删除节点信息,关闭防火墙,再次启动集群
三 问题排查
1.java环境
java -version
2.排查端口占用
netstat -apn | grep 2181 #默认2181端口为服务端提供端口
备注:
若集群未启动 则不应该有端口占用
kill -9 pid #pid为占用端口的进程id号
3.排除网卡问题
ip addr
备注:
如果为物理地址则 重启网卡
service network restart
4.排除网络问题
ping ip #ping其他节点主机 若zoo.cfg 使用域名则用域名
备注:
无ping命令则安装 yum install iputils-ping 若有问题则 host映射问题
5.排查节点配置信息
dataDir 是否存在 myid文件内容与 service.x 中x对应
例如:
zk01 其对应service.x 则该目录下myid内容为1
6.删除节点残留信息
rm -rf version-2/ zookeeper_server.pid
7.防火墙拦截端口
systemctl status firewalld.service
systemctl stop firewalld.service #关闭防火墙 systemctl disable firewalld.service #禁止启动防火墙
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
JavaWeb使用Cookie模拟实现自动登录功能(不需用户名和密码)
不需要填写用户名和密码自动登录系统,其实现思路使用cookie模拟浏览器自动登录,对cookie实现自动登录功能感兴趣的朋友一起学习吧2016-08-08解决springboot项目找不到resources目录下的资源问题
这篇文章主要介绍了解决springboot项目找不到resources目录下的资源问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-08-08Java 18 新特性之Web服务器 jwebserver功能
JEP 408: Simple Web Server,是这次Java 18推出的一个比较独立的全新功能点。我们可以通过命令行工具来启动一个提供静态资源访问的迷你Web服务器,本文通过一个构建HTML页面的例子,来尝试一下jwebserver的功能2022-04-04Springmvc DispatcherServlet原理及用法解析
这篇文章主要介绍了Springmvc DispatcherServlet原理及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-09-09
最新评论