Polecenie, aby uzyskać listę maklerską Kafki od zookeeper

Piszę skrypt powłoki do monitorowania kafka brokers. Przejrzałem kilka linków i stwierdziłem, że jeśli ZooKeeper zawiera listę brokerów, a jeśli na tej liście znajduje się adres IP, to działa broker kafka.

Chcę polecenie, które mogę użyć w moim skrypcie powłoki, aby uzyskać listę brokerów i sprawdzić, czy kafka działa.

Czy Jest jakieś curl polecenie aby uzyskać status klastra kafka jak elasticsearch?

Author: Nae, 2016-10-20

5 answers

To polecenie wyświetli listę aktywnych brokerów pomiędzy nawiasami:

./zookeeper-shell.sh localhost:2181 <<< "ls /brokers/ids"
 45
Author: jimijazz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-20 17:06:48

Alternatywny sposób użycia ZK-Client:

Jeśli nie wolisz przekazywać argumentów do ./zookeeper-shell.sh i chcesz zobaczyć szczegóły brokera z Zookeeper CLI, musisz zainstalować samodzielny Zookeeper(jak tradycyjna Kafka nie wymyśla JLINE JAR).

Po zainstalowaniu (rozpakowaniu) samodzielnego Zookeepera, to:

  • Uruchom Zookeeper CLI:
    $ zookeeper/bin/zkCli.sh -server localhost:2181 #Make sure your Broker is already running

  • Jeśli się powiedzie, możesz zobaczyć klienta Zk działającego jako:

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0]
  • tutaj możesz poznać szczegóły brokera za pomocą różnych poleceń:

$ ls /brokers/ids # Gives the list of active brokers
$ ls /brokers/topics #Gives the list of topics
$ get /brokers/ids/0 #Gives more detailed information of the broker id '0'

 32
Author: Panchu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-09 16:29:18
echo dump | nc localhost 2181 | grep brokers
 4
Author: Aydin K.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-09 13:13:14

Aby użyć poleceń zookeeper ze skryptem powłoki spróbuj

Zookeeper/bin/zkCli.sh -serwer localhost: 2181

 1
Author: Gangadhar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-06 22:00:19

I did it like this

#!/bin/bash

ZK_HOST="localhost"
ZK_PORT=2181


for i in `echo dump | nc $ZK_HOST $ZK_PORT | grep brokers`
do
    echo $i
    DETAIL=`zkCli -server "$ZK_HOST:$ZK_PORT" get $i 2>/dev/null | tail -n 1`
    echo $DETAIL
done
 0
Author: Olivier Refalo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-22 09:01:15