2017-10-18 1 views
0

Ich habe mehrere Verbraucher in einer Gruppe. Wie identifiziert Kafka jeden einzelnen Konsumenten und ordnet ihn der Partitionierung zu?Wie Kafka identifiziert Verbraucher in einer Gruppe eindeutig

Oder - Was ist der eindeutige Schlüssel verwendet, um einen Verbraucher in der Gruppe mit einem Format wie

<client.id>-<uuid> 

Sie

+0

Hallo, wenn Sie mit der Antwort zufrieden sind, könnten Sie bitte die es akzeptieren ? –

Antwort

1

Kafka erzeugt einen zufälligen Verbraucher-ID zu identifizieren, kann sehen, dies in einen neue Konsole Verbraucher läuft eine Gruppe.

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

und, während der Verbraucher ausgeführt wird, die Befehlszeile kafka-consumer-groups.sh Ausführen dieser Gruppe zu beschreiben. Schauen Sie sich die Spalte CONSUMER-ID an.

$ ./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 

Relevante Kafka Code ab 0.10.2.1 sieht wie folgt aus:

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

wo

def generateMemberIdSuffix = UUID.randomUUID().toString