カフカクラスターで取得したブローカーIDのリストを知りたい。たとえば、10ノード以上のクラスタでトピックを作成すると、トピック記述コマンドの出力から、それが割り当てられているブローカを見ることができます。カフカクラスターで使用されているFIndブローカーID
./bin/kafka-topics --describe --zookeeper <zkconnect>:2181 --topic rbtest3
トピックを作成せずにこの情報を収集できますか?
カフカクラスターで取得したブローカーIDのリストを知りたい。たとえば、10ノード以上のクラスタでトピックを作成すると、トピック記述コマンドの出力から、それが割り当てられているブローカを見ることができます。カフカクラスターで使用されているFIndブローカーID
./bin/kafka-topics --describe --zookeeper <zkconnect>:2181 --topic rbtest3
トピックを作成せずにこの情報を収集できますか?
zookeeper cliを使用して、使用されているブローカーIDのリストを取得できます。
zookeeper-3.4.8$ ./bin/zkCli.sh -server zookeeper-1:2181 ls /brokers/ids | tail -1
[0]
yahooによって提供されるオープンソースのツールkafka-managerを使用できます。これは、自分のIDとオフセット始まりとブローカーのすべてを一覧表示します
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --topic=<your topic> --broker-list=<your broker list> --time=-2
:
ありがとうございますが、私はコマンドラインに基づいて何かを探しています。 –
は、次のコマンドを実行することができます。
私はブローカーのリストをコマンドの出力にしたかったのです。上記のコマンドはブローカリストとトピックを引数として取ります。私が望むのは、クラスタ内で現在利用可能なすべてのブローカをブローカIDのリストとして知ることです。 –
また、このようなカフカ分布、と船zookeeper-shell.sh
スクリプトを使用することができます
linux$ ./zookeeper-shell.sh zookeeper-IPaddress:2181 <<< "ls /brokers/ids"
はちょうどあなたの飼育係サーバーのいずれかのIPアドレスを追加する(および/または同じサーバー上で複数のZookeeperインスタンスを実行する場合など、必要に応じてポートを変更します。
この方法は、たとえば、あなたがKafkaクライアントを排他的に実行しているコンテナ(Docker、LXCなど)の中にいる場合に便利です。しかし、飼い葉桶自体はどこか他の場所にあります(例えば、別の容器に)。
私はそれが役に立ちそうです。 = :)
kafkaバイナリを使って同じ機能を実現できますか? –
Kafkaディストリビューションに含まれているzookeeper-shell.shスクリプトを試すことができますが、非対話モードで動作させることができませんでした。 –
@LucianoAfranllie @jmathewsこんにちは!私はちょうどこれらのコメントに気づいた。私はこれを以下の答えとして投稿しました。 'linux $ ./zookeeper-shell.sh zookeeper-IPaddress:2181 <<<" ls " –