2017-10-18 3 views
0

グループ内に複数のコンシューマがあります。 kafkaは、各消費者をどのように識別し、それをパーティションにマップするのですか?kafkaがグループの消費者を一意に特定する方法

または - グループ内の消費者を識別するために使用される一意のキーは何である

+0

こんにちはあなたは答えに満足している場合、あなたはそれを受け入れることを検討してください可能性? –

答えて

1

カフカあなたはこれがで新しいコンソール消費者を実行している見ることができます

<client.id>-<uuid> 

のような形式のランダムな消費者のIDを生成し、グループ。

$ ./bin/kafka-console-consumer.sh --new-consumer --bootstrap-server kafka-1:9092 --consumer-property group.id=group1 -consumer-property client.id=myClient --topic topic1 

消費者が稼働している間に、そのグループを表すコマンドラインkafka-consumer-groups.shを実行します。 CONSUMER-ID列を見てください。

$ ./bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server kafka-1:9092 --describe --group group1 
Note: This will only show information about consumers that use the Java consumer API (non-ZooKeeper-based consumers). 


TOPIC       PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG  CONSUMER-ID          HOST       CLIENT-ID 
topic1       0   0    0    0   myClient-e137f762-e550-4c8e-96d9-8f7f725e2c6d  /127.0.0.1      myClient 

0.10.2.1のように関連カフカのコードは次のようになります。

val memberId = clientId + "-" + group.generateMemberIdSuffix 

def generateMemberIdSuffix = UUID.randomUUID().toString 
関連する問題