本文主要是介绍zookeeper搭建伪集群status命令报错t is probably not running,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
zookeeper搭建伪集群status命令报错it is probably not running
直入主题,zookeeper3.6.2,mac系统,伪集群搭建,单个好使
先看报错截图
给出网上比较多的几种解法,不过我的都不好使。
-
打开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)
如果已存在则去掉
注:我用的zookeeper是3.6.2版本,所以在我的zkServer.sh脚本文件里根本没有这一行,所以没有生效 -
配置文档里指定的log目录没有创建导致出错,手动增加目录后重启,问题解决。增加了一行
dataLogDir=/usr/local/apache-zookeeper-3.6.2-bin-1/log
,同时在data的同级目录下创建一个log文件夹。不过结果也是不好使。 -
创建数据目录,也就是在你zoo.cfg配置文件里dataDir指定的那个目录下创建myid文件,并且指定id,改id为你zoo.cfg文件中server.1=localhost:2888:3888中的1,只要在myid头部写入1即可
注:我照着教程走的,这步我没做错。 -
因为防火墙没有关闭。关闭防火墙。系统偏好设置修改,也是不好使。
-
没有建立主机和ip之间的映射关系。
/etc/hosts
,这文件一点毛病没有,也不对。
综上,一个也不好使。
我的解决方式:
在zookeeper中有个目录,和conf,创建的data在同一级,是logs,里面是zookeeper启动时的日志。查看抛出异常的地方。
有这么一个报错:
Cannot open channel to 2 at election address localhost/127.0.0.1:3889
java.net.ConnectException: Connection refused (Connection refused)
需要修改zoo.xfg。
对于第一个zookeeper,也就是myid为1.
原来是这样(下面写localhost和127.0.0.1是一样的)
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890
修改成这样
server.1=0.0.0.0:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890
对于第二个
server.1=localhost2888:3888
server.2=0.0.0.0:2889:3889
server.3=localhost:2890:3890
第三个
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=0.0.0.0:2890:3890
这样再启动,等一会再使用status,就可以得到结果。因为刚启动时候需要选举,所以要等一下。
这篇关于zookeeper搭建伪集群status命令报错t is probably not running的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!