web-dev-qa-db-fra.com

comment définir le nom du groupe lors de la consommation de messages dans kafka à l'aide de la ligne de commande

Toute idée sur la façon de définir le nom du groupe lors de la consommation de messages dans kafka à l’aide de la ligne de commande.

J'ai essayé avec la commande suivante:

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic nil_RF2_P2 --from-beginning --config group.id=test1
'config' is not a recognized option

Le but est de trouver le décalage des messages consommés avec la commande suivante:

bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper localhost:2181 --group test1

Quelqu'un peut aider à cet égard !! 

Merci d'avance !!

10
Nilotpal

Vous avez la réponse pour changer le nom du groupe à partir de la commande Invite!

pas:

  1. créez un nouveau fichier consumer.properties, dites consumer1.properties
  2. changez group.id=<Give a new group name> dans le consumer1.properties.
  3. bin/kafka-console-consumer.sh --new-consumer --bootstrap-server localhost:9092 --topic topicname --from-beginning --consumer.config config/consumer1.properties --delete-consumer-offsets
11
Nilotpal

La solution la plus simple est:

bin/kafka-console-consumer.sh --zookeeper localhost: 2181 --topic nil_RF2_P2 --de-début --consumer-property group.id = test1

Si vous spécifiez le drapeau --from-begin, rappelez-vous que le groupe de consommateurs ne doit pas avoir consommé d'enregistrements dans le passé, sinon votre consommateur commencera à consommer depuis le plus ancien enregistrement non consommé par le groupe spécifié (et non à partir du début réel, comme vous pouvez le supposer incorrectement).

13
vtsamis

si vous souhaitez modifier l'identifiant de groupe sans perte de décalage d'enregistrement, vous devez compenser manuellement l'identifiant actuel de Group.id et le définir sur le nouvel utilisateur exécuté avec le nouvel ID. Si vous ne disposez d'aucun contrôle pour obtenir un décalage dans l'instance de consommateur, vous pouvez exécuter cette commande. 

/bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server <ip_address>:<Broker_port>  --group Group_name --describe

et alors vous pouvez rechercher des données d'un décalage spécifique. faites attention, vous devriez appeler chercher après appeler appeler ، La commande Assign ne fonctionne pas. vous pouvez aussi voir mon exemple de code dans github 

Exemple ici

3
Jeus

Vous pouvez utiliser l'option --group comme ceci (testé avec Kafka 2.0.0):

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --group test-consumer --topic test --from-beginning

1
Eno Thereska

Si vous utilisez bash, vous pouvez utiliser sa capacité de substitution de processus.

bin/kafka-console-consumer.sh --zookeeper localhost:2181 \
--topic nil_RF2_P2 --from-beginning \
--consumer.config <(echo group.id=test1)
0
slavik