如何解决zookeeper集群重启Error contacting service.It is probably not running问题

 更新时间:2024年12月19日 15:36:04   作者:Mars'Ares  
本文详细介绍了Zookeeper集群启动异常的排查步骤,包括网络问题、防火墙配置、Java环境、端口占用、网卡问题、网络问题以及节点配置信息的检查,通过逐一排查和解决这些问题,可以有效地启动Zookeeper集群

一 问题出现情形

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模拟实现自动登录功能(不需用户名和密码)

    JavaWeb使用Cookie模拟实现自动登录功能(不需用户名和密码)

    不需要填写用户名和密码自动登录系统,其实现思路使用cookie模拟浏览器自动登录,对cookie实现自动登录功能感兴趣的朋友一起学习吧
    2016-08-08
  • Spring5学习之基础知识总结

    Spring5学习之基础知识总结

    这篇文章主要介绍了Spring5学习之基础知识总结,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-05-05
  • Spring Cache实现缓存技术

    Spring Cache实现缓存技术

    在面对公司缓存技术混乱时,张三基于Spring框架自研缓存解决方案,展现了他的专业技术能力和积极工作态度,他通过问题诊断、技术选型、编码测试、文档编写和部署监控等一系列步骤,确保了新缓存系统的功能正确性和性能稳定性
    2024-10-10
  • String类的获取功能、转换功能

    String类的获取功能、转换功能

    这篇文章给大家介绍了String类的获取功能:String类的基本获取功能、获取功能的举例子、String类的基本转换功能、转换功能的举例子。具体详情大家参考下本文
    2018-04-04
  • 解决springboot项目找不到resources目录下的资源问题

    解决springboot项目找不到resources目录下的资源问题

    这篇文章主要介绍了解决springboot项目找不到resources目录下的资源问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Java语法基础之运算符学习笔记分享

    Java语法基础之运算符学习笔记分享

    这篇文章主要为大家分享了Java语法基础之运算符学习笔记,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Java 18 新特性之Web服务器 jwebserver功能

    Java 18 新特性之Web服务器 jwebserver功能

    JEP 408: Simple Web Server,是这次Java 18推出的一个比较独立的全新功能点。我们可以通过命令行工具来启动一个提供静态资源访问的迷你Web服务器,本文通过一个构建HTML页面的例子,来尝试一下jwebserver的功能
    2022-04-04
  • spring bean.xml文件p标签使用报错的解决

    spring bean.xml文件p标签使用报错的解决

    这篇文章主要介绍了spring bean.xml文件p标签使用报错的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Springmvc DispatcherServlet原理及用法解析

    Springmvc DispatcherServlet原理及用法解析

    这篇文章主要介绍了Springmvc DispatcherServlet原理及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Mybatis控制台打印SQL语句的两种实现方式

    Mybatis控制台打印SQL语句的两种实现方式

    在使用Mybatis开发时,由于可以动态拼接SQL,当动态SQL拼接块过多,直接从*mapper.xml中找出完整的SQL较难,此时,可以通过两种方法调试出SQL,方法一,将ibatislog4j运行级别调到DEBUG,在控制台打印出ibatis运行的SQL语句
    2024-10-10

最新评论