Как проверить, работает ли ZooKeeper из командной строки?


Я изучал несколько вариантов настройки Кафки и знал, что смотритель зоопарка должен быть готов и работает, чтобы инициировать Кафку.

Я хотел бы знать, как я могу найти ниже.

1) имя хоста и порт для моего экземпляра zookeeper - - - я проверил зоопарк.cfg и я смог найти только ClientPort, а не имя хоста, будет ли имя хоста именем моего ящика??

2) чтобы проверить, работает ли ZooKeeper-я попытался сделать ps -ef | grep "zoo", но ничего не нашел. Может быть, я использую неправильный ключ слово для поиска??

Любая помощь была бы действительно признательна?

8 38

8 ответов:

Чтобы проверить, доступен ли Zookeeper. Один из способов-это просто телнет к нужному Порту и выполнить команду 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

Перейдите в каталог bin Zookeeper и введите

./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.
Я не работаю на одной и той же машине, но вы поняли идею.
echo stat | nc localhost 2181 | grep Mode
echo srvr | nc localhost 2181 | grep Mode #(From 3.3.0 onwards)

Выше будет работать в любом режиме Zookeeper работает (автономный или встроенный).

Другой способ

Если zookeeper работает в автономном режиме, это процесс JVM. Итак -

jps | grep Quorum

Отобразит список процессов jvm; что-то вроде этого для zookeeper с идентификатором процесса

HQuorumPeer

Zookeeper-это просто процесс Java, и когда вы запускаете экземпляр Zookeeper, он запускает класс org.apache.zookeeper.server.quorum.QuorumPeerMain. Таким образом, вы можете проверить наличие Бегущего смотрителя зоопарка следующим образом:

jps -l | grep zookeeper

Или даже вот так:

jps | grep Quorum

Upd:

Относительно этого: will hostname be the hostname of my box?? - Ответ да.

Я использую:

  jps

В зависимости от вашей установки запущенный Zookeeper будет выглядеть как

  HQuorumPeer

Или sth. с Хранителем зоопарка в его имени.

Статус можно проверить с помощью команды:

sudo service zookeeper status

Вывод должен быть таким:

zookeeper start/running, process 1046