本人用的版本稍微有点旧,用的是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是否变化文章来源:https://www.toymoban.com/news/detail-517144.html
此部分首先需要用ifconfig命令查看所在机器对应的虚拟机的ip地址,然后查看是否和/etc/hosts中的地址是一致的,不一致需要修改一下就可以了。文章来源地址https://www.toymoban.com/news/detail-517144.html
到了这里,关于zookeeper出现java.net.NoRouteToHostException: 没有到主机的路由问题解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!