apache-kafka
strumenti di console di kafka
Ricerca…
introduzione
Kafka offre strumenti da riga di comando per gestire argomenti, gruppi di consumatori, per consumare e pubblicare messaggi e così via.
Importante : gli script della console di Kafka sono diversi per piattaforme basate su Unix e Windows. Negli esempi, potrebbe essere necessario aggiungere l'estensione in base alla piattaforma.
Linux : script situati in bin/ con estensione .sh .
Windows : script situati in bin\windows\ e con estensione .bat .
Kafka-argomenti
Questo strumento ti consente di elencare, creare, modificare e descrivere argomenti.
Elenco argomenti:
kafka-topics --zookeeper localhost:2181 --list
Crea un argomento:
kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
crea un argomento con una partizione e nessuna replica.
Descrivi un argomento:
kafka-topics --zookeeper localhost:2181 --describe --topic test
Modificare un argomento:
# 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
(Attenzione: Kafka non supporta la riduzione del numero di partizioni di un argomento) (consulta questo elenco di proprietà di configurazione )
Kafka-console-produttore
Questo strumento ti consente di produrre messaggi dalla riga di comando.
Invia messaggi di stringa semplici a un argomento:
kafka-console-producer --broker-list localhost:9092 --topic test
here is a message
here is another message
^D
(ogni nuova riga è un nuovo messaggio, digita ctrl + D o ctrl + C per interrompere)
Invia messaggi con le chiavi:
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
Invia messaggi da un file:
kafka-console-producer --broker-list localhost:9092 --topic test_topic < file.log
Kafka-console-consumer
Questo strumento ti consente di consumare messaggi da un argomento.
per usare la vecchia implementazione consumer, sostituire
--bootstrap-servercon--zookeeper.
Mostra semplici messaggi:
kafka-console-consumer --bootstrap-server localhost:9092 --topic test
Consuma vecchi messaggi:
Per vedere i vecchi messaggi, puoi usare l'opzione --from-beginning .
Visualizza i messaggi valore-chiave :
kafka-console-consumer --bootstrap-server localhost:9092 --topic test-topic \
--property print.key=true \
--property key.separator=,
kafka-semplice-consumer-shell
Questo consumatore è uno strumento di basso livello che ti consente di utilizzare messaggi provenienti da partizioni, offset e repliche specifici.
Parametri utili:
-
parition: la partizione specifica da cui consumare (predefinito a tutti) -
offset: l'offset iniziale. Usa-2per consumare messaggi dall'inizio,-1per consumare alla fine. -
max-messages: numero di messaggi da stampare -
replica: la replica, predefinita per il broker-leader (-1)
Esempio:
kafka-simple-consumer-shell \
--broker-list localhost:9092 \
--partition 1 \
--offset 4 \
--max-messages 3 \
--topic test-topic
visualizza 3 messaggi dalla partizione 1 a partire dall'offset 4 dall'argomento argomento-argomento.
Kafka-consumo-gruppi
Questo strumento ti consente di elencare, descrivere o eliminare gruppi di consumatori. Dai un'occhiata a questo articolo per ulteriori informazioni sui gruppi di consumatori.
se usi ancora la vecchia implementazione consumer, sostituisci
--bootstrap-servercon--zookeeper.
Elenca gruppi di consumatori:
kafka-consumer-groups --bootstrap-server localhost:9092 --list
octopus
Descrivi un gruppo di consumatori:
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
Note : nell'output sopra,
-
current-offsetè l'ultimo offset impegnato dell'istanza consumer, -
log-end-offsetè l'offset più alto della partizione (quindi, sommando questa colonna si ottiene il numero totale di messaggi per l'argomento) -
lagè la differenza tra l'attuale compensazione del consumatore e l'offset più alto, quindi quanto è indietro il consumatore, -
ownerè ilclient.iddel consumatore (se non specificato, viene visualizzato uno di default).
Elimina un gruppo di consumatori:
la cancellazione è disponibile solo quando i metadati di gruppo sono memorizzati in zookeeper (vecchia consumer api). Con la nuova API consumer, il broker gestisce tutto, inclusa l'eliminazione dei metadati: il gruppo viene eliminato automaticamente quando scade l'ultimo offset impegnato per il gruppo.
kafka-consumer-groups --bootstrap-server localhost:9092 --delete --group octopus