问题描述
JMX enabled by defaultUsing config: /data/zookeeper-3.3.2/bin/../conf/zoo.cfgError contacting service. It is probably not running.有人说是 nc问题 修改过 还不行。。求解答此时可能是nc 工具的问题 --确认电脑里安装了nc(netcat)工具去zkServer.sh 里找到 下面这句话STAT=`echo stat | nc localhost $(grep clientPort "$ZOOCFG" | sed -e 's/.*=//') 2> /dev/null| grep Mode`修改成 STAT=`echo stat | nc -q l localhost $(grep clientPort "$ZOOCFG" | sed -e 's/.*=//') 2> /dev/null| grep Mode` 问题补充:aronlulu 写道
解决方案
日志你要配置:配置文件中配置:dataLogDir 来指定你日志的输出位置,输出规则可以在log4j里面配置。更多高级管理功能你可以参考:http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html#sc_maintenance里面说的很详细。你还可以参与zookeeper的讨论邮件列表。里面也会有很多高级内幕。
解决方案二:
首先看进程有没有启动jps看一下有没有对应的zookeeper进程。接着看你zookeeper的监听端口有没有启动。不知道你用的是什么系统:linux的话用:netstat —an | grep 2181windows的话用:netstat —an | findstr 21812181是zookeeper的默认端口,如果你改变了端口那就换成你改的那个端口就可以了。集群之间的监听端口是2888,你要检查集群有没有问题的话直接把2181换成2888就可以看到多个节点之间有没有互相连通了。如果发现没有进程启动或者没有找到监听端口的话说明你zookeeper启动失败了,这个时候到log底下找日志看到底是什么原因启动失败的。zkServer.sh status功能太单一,很多情况下反馈的信息不好使,我们通常不用这个。