Comando para obter a lista de corretores do Kafka do guardião do Zoo

Estou a escrever um script para monitorizar os corretores do kafka. Eu passei por alguns links e descobri que se o tratador de Zoológico contém uma lista de corretores, e se, nesta lista, o endereço IP está presente, então um corretor de kafka está correndo.

quero um comando que possa usar no meu script shell para obter a lista de corretores e verificar se o kafka está a correr.

Existe algum comando {[[0]} para obter o estado do cluster kafka como a pesquisa elastica?

Author: Nae, 2016-10-20

5 answers

Este comando dar-lhe-á a lista dos corretores activos entre parêntesis:

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

Forma alternativa de usar o ZK-Cliente:

Se não preferir passar argumentos para {[[1]} e quiser ver os detalhes do corretor do Zookeeper CLI, terá de instalar o tratador independente (dado que o Kafka tradicional não aparece com o JLine JAR).

Assim que instalares o guarda do Jardim zoológico independente, então ...
  • Corre o tratador do Jardim zoológico:
    $ zookeeper/bin/zkCli.sh -server localhost:2181 #Make sure your Broker is already running

  • Se for bem sucedido, você pode ver o cliente Zk executando como:

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0]
    A partir daqui, poderá explorar os detalhes do corretor usando vários comandos:

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

Para usar os comandos do guardião do Jardim zoológico com o programa shell, tente

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

 1
Author: Gangadhar, 2018-03-06 22:00:19
Fiz assim.
#!/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, 2018-06-22 09:01:15