如何解决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 #禁止启动防火墙

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java中String.split()的最详细源码解读及注意事项

    Java中String.split()的最详细源码解读及注意事项

    以前经常使用String.split()方法,但是从来没有注意,下面这篇文章主要给大家介绍了关于Java中String.split()最详细源码解读及注意事项的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • 浅谈Java锁机制

    浅谈Java锁机制

    在多线程环境下,程序往往会出现一些线程安全问题,为此,Java提供了一些线程的同步机制来解决安全问题,比如:synchronized锁和Lock锁都能解决线程安全问题。下面小编就来详细介绍该知识点,需要的朋友可以参考一下
    2021-09-09
  • SpringBoot中Redis自动配置的介绍、原理和使用详解

    SpringBoot中Redis自动配置的介绍、原理和使用详解

    这篇文章主要介绍了SpringBoot中Redis自动配置的介绍、原理和使用详解,Redis是一种高性能的键值对存储数据库,它支持多种数据结构和丰富的功能,如缓存、消息队列、计数器、分布式锁等,需要的朋友可以参考下
    2023-08-08
  • Java使用PDFBox实现调整PDF每页格式

    Java使用PDFBox实现调整PDF每页格式

    这篇文章主要为大家详细介绍了Java如何使用PDFBox实现调整PDF每页格式,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考下
    2024-03-03
  • 什么是Java布隆过滤器?如何使用你知道吗

    什么是Java布隆过滤器?如何使用你知道吗

    这篇文章主要为大家详细介绍了Java布隆过滤器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • Java整型数与网络字节序byte[]数组转换关系详解

    Java整型数与网络字节序byte[]数组转换关系详解

    这篇文章主要介绍了Java整型数与网络字节序byte[]数组转换关系,结合实例形式归纳整理了java整型数和网络字节序的byte[]之间转换的各种情况,需要的朋友可以参考下
    2017-08-08
  • 如何在springboot项目中自定义404页面

    如何在springboot项目中自定义404页面

    今天点击菜单的时候不小心点开了一个不存在的页面,然后看到浏览器给的一个默认的404页面,这篇文章主要介绍了如何在springboot项目中自定义404页面,需要的朋友可以参考下
    2024-05-05
  • springboot 集成dubbo的步骤详解

    springboot 集成dubbo的步骤详解

    这篇文章主要介绍了springboot 简易集成dubbo的步骤详解,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • IDEA中Maven依赖下载失败的完美解决方案

    IDEA中Maven依赖下载失败的完美解决方案

    使用IDEA进行Maven项目开发时,时不时会遇到pom.xml报错的情况,其中很大概率是因为Maven依赖的jar包下载失败,找来找去也没有找到是什么问题,困扰了很多程序猿,这里给出IDEA中Maven依赖下载失败解决方案,给大家参考,实测有用
    2020-04-04
  • java实现List中对象排序的方法

    java实现List中对象排序的方法

    这篇文章主要介绍了java实现List中对象排序的方法,涉及Java中的遍历与对象操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11

最新评论