サーチ…


前書き

Kafkaは、トピックやコンシューマ・グループを管理し、メッセージを消費して公開するためのコマンドライン・ツールを提供しています。

重要 :Kafkaコンソールスクリプトは、UnixベースおよびWindowsプラットフォームでは異なります。この例では、プラットフォームに応じて拡張機能を追加する必要があります。

Linux.sh拡張子を持つbin/あるスクリプト。

Windowsbin\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


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow