2 mah983379392 mah983379392 于 2018.01.14 00:58 提问

zookeeper启动成功了 查看status却错误连接 什么意思

[root@localhost bin]# ./zkServer.sh start
JMX enabled by default
Using config: /soft/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@localhost bin]# ./zkServer.sh status
JMX enabled by default
Using config: /soft/zookeeper-3.4.6/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
[root@localhost bin]# ./zkServer.sh stop
JMX enabled by default
Using config: /soft/zookeeper-3.4.6/bin/../conf/zoo.cfg
Stopping zookeeper ... ./zkServer.sh: line 143: kill: (3017) - 没有那个进程
STOPPED

2个回答

sdfsdfafasfasdfasfsa
sdfsdfafasfasdfasfsa   2018.01.14 11:11
已采纳

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.4.5版本,所以在我的zkServer.sh脚本文件里根本没有这一行,所以没有生效

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

3,创建数据目录,也就是在你zoo.cfg配置文件里dataDir指定的那个目录下创建myid文件,并且指定id,改id为你zoo.cfg文件中server.1=localhost:2888:3888中的 1.只要在myid头部写入1即可.
注:在我第二次安装的时候,没有将myid文件创建在dataDir指定的那个目录下,也报了该错误。之后在dataDir指定的那个目录下创建myid文件就没有报错。

4 因为防火墙没有关闭。关闭防火墙:

mah983379392
mah983379392 谢谢哦,原来是jdk配置环境变量路径写错了
5 天之前 回复
sinat_34344123
sinat_34344123   2018.01.14 08:38

检查一下配置文件。还有用客户端连接一下看能连得上吗?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!