zookeeper搭建伪集群status命令报错t is probably not running

zookeeper搭建伪集群status命令报错it is probably not running

直入主题,zookeeper3.6.2,mac系统,伪集群搭建,单个好使

先看报错截图
在这里插入图片描述

给出网上比较多的几种解法,不过我的都不好使。

  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)
    如果已存在则去掉
    注:我用的zookeeper是3.6.2版本,所以在我的zkServer.sh脚本文件里根本没有这一行,所以没有生效

  2. 配置文档里指定的log目录没有创建导致出错,手动增加目录后重启,问题解决。增加了一行 dataLogDir=/usr/local/apache-zookeeper-3.6.2-bin-1/log
    ,同时在data的同级目录下创建一个log文件夹。不过结果也是不好使。

  3. 创建数据目录,也就是在你zoo.cfg配置文件里dataDir指定的那个目录下创建myid文件,并且指定id,改id为你zoo.cfg文件中server.1=localhost:2888:3888中的1,只要在myid头部写入1即可
    注:我照着教程走的,这步我没做错。

  4. 因为防火墙没有关闭。关闭防火墙。系统偏好设置修改,也是不好使。

  5. 没有建立主机和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,就可以得到结果。因为刚启动时候需要选举,所以要等一下。
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值