Commande pour obtenir la liste des courtiers kafka de zookeeper

J'écris un script shell pour surveiller les courtiers kafka. J'ai parcouru quelques liens et constaté que si ZooKeeper contient une liste de courtiers, et si, dans cette liste, l'adresse IP est présente, alors un courtier kafka est en cours d'exécution.

Je veux une commande que je peux utiliser dans mon script shell pour obtenir la liste des courtiers et vérifier si kafka est en cours d'exécution.

Existe-t-il une commande curl pour obtenir le statut de cluster kafka comme elasticsearch?

22
demandé sur Nae 2016-10-20 09:26:20

5 réponses

Cette commande vous donnera la liste des courtiers actifs entre parenthèses:

./zookeeper-shell.sh localhost:2181 <<< "ls /brokers/ids"
45
répondu jimijazz 2016-10-20 17:06:48

Autre façon d'utiliser ZK-Client:

Si vous ne préférez pas passer des arguments à ./zookeeper-shell.sh et que vous voulez voir les détails du courtier de Zookeeper CLI, vous devez installer Zookeeper autonome (comme Kafka traditionnel ne vient pas avec JLINE JAR).

Une fois que vous avez installé (décompressez) le Zookeeper autonome, alors:

  • Exécutez la Gardienne de la CLI:
    $ zookeeper/bin/zkCli.sh -server localhost:2181 #Make sure your Broker is already running

  • Si elle est réussie, vous pouvez voir le client Zk en cours D'exécution comme:

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0]
  • de là, vous pouvez explorer les détails du courtier en utilisant diverses commandes:

$ 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
répondu Panchu 2017-05-09 16:29:18
echo dump | nc localhost 2181 | grep brokers
4
répondu Aydin K. 2018-04-09 13:13:14

Pour utiliser les commandes zookeeper avec le script shell, essayez

Zookeeper/bin/zkCli.sh -le serveur localhost:2181

1
répondu Gangadhar 2018-03-06 22:00:19

Je l'ai fait comme ceci

#!/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
répondu Olivier Refalo 2018-06-22 09:01:15