zookeeper出现java.net.NoRouteToHostException: 没有到主机的路由问题解决

       本人用的版本稍微有点旧,用的是VMware11、centos用的是6.5版本的、JDK用的是1.8的、Hadoop用的是3.2.1版本的、zookeeper用的是3.5.6的。在前面的配置中一直没有问题,经过反复排查zookeeper的配置是没有问题的,用jps查看进程,QuorumPeerMain进程都正常启动。

       但是用zkServer.sh status 查看状态时,显示的是Error contacting service. It is probably not running。查看logs目录下的日志文件zookeeper-root-server-master.out文件,发现里面有报错java.net.NoRouteToHostException: 没有到主机的路由问题。在网上也查了很多方法尝试了,最后发现还是防火墙的问题,不过还有一种可能是虚拟机里面的ip地址变化引起的。针对这两种情况简单说下我们的解决思路。

一、防火墙的问题

     centos6关闭防火墙用的方法如下

service iptables status #查看防火墙的状态

service iptables stop  #如果防火墙打开,一定要关闭,每一台节点都需要关闭

     关闭后,最好重新启动一下Hadoop、zookeeper以后,再用zkServer.sh status进行查看,问题就解决啦。

        centos关闭防火墙的方法可参考Centos6、Centos7、Centos8关闭防火墙_neo_will_mvp的博客-CSDN博客_centos6关闭防火墙

2、查看虚拟机IP是否变化

      此部分首先需要用ifconfig命令查看所在机器对应的虚拟机的ip地址,然后查看是否和/etc/hosts中的地址是一致的,不一致需要修改一下就可以了。

猜你喜欢

转载自blog.csdn.net/qq_27052367/article/details/127263368
今日推荐