apache-kafka
カフカコンソールツール
サーチ…
前書き
Kafkaは、トピックやコンシューマ・グループを管理し、メッセージを消費して公開するためのコマンドライン・ツールを提供しています。
重要 :Kafkaコンソールスクリプトは、UnixベースおよびWindowsプラットフォームでは異なります。この例では、プラットフォームに応じて拡張機能を追加する必要があります。
Linux : .sh拡張子を持つbin/あるスクリプト。
Windows : bin\windows\あり、拡張子が.batスクリプト。
カフカトピック
このツールを使用すると、トピックを一覧表示、作成、変更、および記述することができます。
リストトピック:
kafka-topics --zookeeper localhost:2181 --list
トピックを作成する:
kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
1つのパーティションと複製を持たないトピックを作成します。
トピックを記述する:
kafka-topics --zookeeper localhost:2181 --describe --topic test
トピックを変更する:
# change configuration
kafka-topics --zookeeper localhost:2181 --alter --topic test --config max.message.bytes=128000
# add a partition
kafka-topics --zookeeper localhost:2181 --alter --topic test --partitions 2
(注意:Kafkaはトピックのパーティション数の削減をサポートしていません)( この設定プロパティのリストを参照)
kafka-console-producer
このツールを使用すると、コマンドラインからメッセージを生成できます。
簡単な文字列メッセージをトピックに送る:
kafka-console-producer --broker-list localhost:9092 --topic test
here is a message
here is another message
^D
(新しい行はそれぞれ新しいメッセージです。停止するにはctrl + Dまたはctrl + Cを入力してください)
キー付きメッセージを送信する:
kafka-console-producer --broker-list localhost:9092 --topic test-topic \
--property parse.key=true \
--property key.separator=,
key 1, message 1
key 2, message 2
null, message 3
^D
ファイルからメッセージを送信する:
kafka-console-producer --broker-list localhost:9092 --topic test_topic < file.log
kafka-console-consumer
このツールでは、トピックからのメッセージを消費します。
古いコンシューマ実装を使用するには、
--bootstrap-serverを--zookeeperます。
簡単なメッセージを表示する:
kafka-console-consumer --bootstrap-server localhost:9092 --topic test
古いメッセージを消費する:
古いメッセージを表示するには、-- --from-beginningオプションを使用します。
Key-Valueメッセージを表示する :
kafka-console-consumer --bootstrap-server localhost:9092 --topic test-topic \
--property print.key=true \
--property key.separator=,
kafka-simple-consumer-shell
このコンシューマーは、特定のパーティション、オフセット、およびレプリカからのメッセージを消費する低レベルのツールです。
有用なパラメータ:
-
parition:消費する特定のパーティション(デフォルトはall) -
offset:開始オフセット。最初からメッセージを消費するには-2を使い、最後からは消費するために-1を使います。 -
max-messages:印刷するメッセージの数 -
replica:レプリカ、デフォルトはブローカーリーダー(-1)
例:
kafka-simple-consumer-shell \
--broker-list localhost:9092 \
--partition 1 \
--offset 4 \
--max-messages 3 \
--topic test-topic
トピックtest-topicからオフセット4で始まるパーティション1からの3つのメッセージを表示します。
カフカ - 消費者団体
このツールを使用すると、コンシューマ・グループを一覧表示、記述、または削除できます。消費者グループの詳細については、 この記事をご覧ください。
それでも古いコンシューマ実装を使用している場合は、
--bootstrap-serverを--zookeeper置き換えて--zookeeper。
消費者グループを一覧表示する:
kafka-consumer-groups --bootstrap-server localhost:9092 --list
octopus
消費者グループを記述する:
kafka-consumer-groups --bootstrap-server localhost:9092 --describe --group octopus
GROUP TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG OWNER
octopus test-topic 0 15 15 0 octopus-1/127.0.0.1
octopus test-topic 1 14 15 1 octopus-2_/127.0.0.1
備考 :上記の出力では、
-
current-offsetは、コンシューマ・インスタンスの最後にコミットされたオフセットです。 -
log-end-offsetはパーティションの最大オフセットです(したがって、この列を合計するとトピックの合計メッセージ数が得られます) -
lagは、現在の消費者オフセットと最高のオフセットとの差であり、したがって、消費者がどれだけ遅れているかは、 -
ownerはコンシューマーのclient.idです(指定されていない場合は、デフォルトのものが表示されます)。
コンシューマグループを削除する:
削除は、グループのメタデータが飼い主(古い消費者のAPI)に保存されている場合にのみ使用できます。新しいコンシューマAPIを使用すると、ブローカはメタデータの削除を含むすべてを処理します。グループの最後にコミットされたオフセットが期限切れになると、グループは自動的に削除されます。
kafka-consumer-groups --bootstrap-server localhost:9092 --delete --group octopus