我探索了几种设置kafka的方法,并且我知道Zookeeper必须启动并运行才能启动kafka。
我想知道如何找到以下内容。
1)我的zookeeper实例的主机名和端口---我检查了zoo.cfg,我只能找到ClientPort而不是主机名,主机名将是我的盒子的主机名吗?
2)检查ZooKeeper是否已启动并正在运行---我试图做一个ps -ef | grep "zoo"
我什么都找不到的事情。可能是我使用了错误的关键字进行搜索??
任何帮助将非常感激?
我探索了几种设置kafka的方法,并且我知道Zookeeper必须启动并运行才能启动kafka。
我想知道如何找到以下内容。
1)我的zookeeper实例的主机名和端口---我检查了zoo.cfg,我只能找到ClientPort而不是主机名,主机名将是我的盒子的主机名吗?
2)检查ZooKeeper是否已启动并正在运行---我试图做一个ps -ef | grep "zoo"
我什么都找不到的事情。可能是我使用了错误的关键字进行搜索??
任何帮助将非常感激?
Answers:
检查Zookeeper是否可访问。一种方法是简单地telnet到正确的端口并执行stats命令。
root@host:~# telnet localhost 2181
Trying 127.0.0.1...
Connected to myhost.
Escape character is '^]'.
stats
Zookeeper version: 3.4.3-cdh4.0.1--1, built on 06/28/2012 23:59 GMT
Clients:
Latency min/avg/max: 0/0/677
Received: 4684478
Sent: 4687034
Outstanding: 0
Zxid: 0xb00187dd0
Mode: leader
Node count: 127182
Connection closed by foreign host.
另一种方法是使用4个字母的命令来验证Zookeeper服务是否健康
echo stat | nc <zookeeper ip> 2181
echo mntr | nc <zookeeper ip> 2181
echo isro | nc <zookeeper ip> 2181
https://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands下面的文档链接的更多详细信息
echo ruok | nc <zookeeper ip> 2181
如果可以的话,只返回“ imok”,所以这可能是最容易解析的。
nc
可能并非在所有环境中都可用。
进入Zookeeper的bin目录并输入
./zkServer.sh status
有关更多信息,请通过以下链接:
http://www.ibm.com/developerworks/library/bd-zookeeper/
希望这可以对您有所帮助。
我做了一些测试:
运行时:
$ /usr/lib/zookeeper/bin/zkServer.sh status
JMX enabled by default
Using config: /usr/lib/zookeeper/bin/../conf/zoo.cfg
Mode: follower
停止时:
$ zkServer status
JMX enabled by default
Using config: /usr/local/etc/zookeeper/zoo.cfg
Error contacting service. It is probably not running.
我不在同一台计算机上运行,但是您明白了。
输入以下命令以验证zookeeper是否正在运行:
echo "ruok" | nc localhost 2181 ; echo
预期回应: imok
from the command prompt on zookeeper's node?
还是from the client node's command prompt?