执行 zkServer.sh status 的时候 报错

搭建hadoop集群的时候,在各个节点启动了zookeeper之后想查看一下状态,结果执行  zkServer.sh status 的时候 报了Error contacting service. It is probably not running错误。网上找了一下几种常见的方法,比如:

1,打开zkServer.sh 找到status)

STAT=`echo stat | nc localhost $(grep clientPort "$ZOOCFG" | sed -e 's/.*=//') 2> /dev/null| grep Mode`
在nc与localhost之间加上 -q 1 (是数字1而不是字母l)
如果已存在则去掉
注:在我的zkServer.sh脚本文件里根本没有这一行,所以没有生效

 2,调用sh zkServer.sh status 遇到这个问题。百度,google了后发现有人是修改sh脚本里的一个nc的参数来解决,可在3.4.6的sh文件里并没有找到nc的调用。配置文档里指定的log目录没有创建导致出错,手动增加目录后重启,问题解决。
注:我想不是日志的问题所以这个方法根本就没有试

 3,创建数据目录,也就是在你zoo.cfg配置文件里dataDir指定的那个目录下创建myid文件,并且指定id,改id为你zoo.cfg文件中server.1=localhost:2887:3887中的1.只要在myid头部写入1即可.



但是我使用的是zookeeper3.4.6,都不存在上述三种方法所说的情况。最后发现是防火墙没有关闭,于是尝试关闭,问题解决。

service iptables status  查看防火墙
service iptables stop   关闭防火墙 

 chkconfig --list |grep iptables 查看防火墙是否是开机自启动
chkconfig iptables off 关闭防火墙的开机自启动功能。

你可能感兴趣的:(执行 zkServer.sh status 的时候 报错)