← retour aux snippets

kcat: produire et consommer sur un topic Kafka

Utiliser kcat (ex-kafkacat) pour déboguer rapidement la production et la consommation de messages.

bash streaming #kcat#kafka#cli

objectif

Tester l’envoi et la lecture de messages Kafka depuis le terminal.

code minimal

# produire une ligne par message
echo 'hello' | kcat -b broker1:9092 -t demo -P

utilisation

# consommer depuis la fin du topic et suivre (comme tail -f)
kcat -b broker1:9092 -t demo -C -o end -q

# préciser la partition et la clé (clé/valeur séparées par tab)
printf 'key1\tvalue1\n' | kcat -b broker1:9092 -t demo -K $'\t' -P

variante(s) utile(s)

# SASL_SSL (ex: SCRAM-SHA-512)
kcat -b broker:9093 -X security.protocol=SASL_SSL -X sasl.mechanisms=SCRAM-SHA-512   -X sasl.username="$USER" -X sasl.password="$PASS" -t secure -C -o end -q

notes

  • -P pour produire, -C pour consommer; -o end démarre à la fin.
  • utilisez -K pour séparer clé/valeur; -p pour la partition.