Zoeken…


Invoering

Kafka biedt opdrachtregelhulpmiddelen om onderwerpen, consumentengroepen te beheren, berichten te consumeren en te publiceren, enzovoort.

Belangrijk : Kafka-consolescripts zijn verschillend voor op Unix gebaseerde en Windows-platforms. In de voorbeelden moet u mogelijk de extensie toevoegen op basis van uw platform.

Linux : scripts in bin/ met .sh extensie.

Windows : scripts in bin\windows\ en met de extensie .bat .

kafka-topics

Met deze tool kunt u onderwerpen weergeven, maken, wijzigen en beschrijven.

Lijst onderwerpen:

kafka-topics  --zookeeper localhost:2181 --list

Maak een onderwerp aan:

kafka-topics  --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

maakt een onderwerp met één partitie en geen replicatie.

Beschrijf een onderwerp:

kafka-topics  --zookeeper localhost:2181 --describe --topic test

Een onderwerp wijzigen:

# 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

(Let op: Kafka biedt geen ondersteuning voor het verminderen van het aantal partities van een onderwerp) (zie deze lijst met configuratie-eigenschappen )

kafka-console-producent

Met deze tool kunt u berichten maken vanaf de opdrachtregel.

Stuur eenvoudige stringberichten naar een onderwerp:

kafka-console-producer --broker-list localhost:9092 --topic test
here is a message
here is another message
^D

(elke nieuwe regel is een nieuw bericht, typ ctrl + D of ctrl + C om te stoppen)

Verzend berichten met sleutels:

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

Verzend berichten vanuit een bestand:

kafka-console-producer --broker-list localhost:9092 --topic test_topic < file.log

kafka-console-consumer

Met deze tool kun je berichten van een onderwerp gebruiken.

vervang de --bootstrap-server door --zookeeper om de oude consumentenimplementatie te gebruiken.

Geef eenvoudige berichten weer:

kafka-console-consumer --bootstrap-server localhost:9092 --topic test 

Oude berichten consumeren:

Om oudere berichten te zien, kunt u de --from-beginning gebruiken.

Toon sleutel-waarde berichten :

kafka-console-consumer  --bootstrap-server localhost:9092 --topic test-topic \
    --property print.key=true \
    --property key.separator=, 

kafka-simple-consumer-shell

Deze consument is een tool op laag niveau waarmee u berichten van specifieke partities, offsets en replica's kunt gebruiken.

Handige parameters:

  • parition : de specifieke partitie om van te consumeren (standaard op alles)
  • offset : de beginoffset. Gebruik -2 om berichten vanaf het begin te consumeren, -1 om vanaf het einde te consumeren.
  • max-messages : aantal af te drukken berichten
  • replica : de replica, standaard voor de makelaar-leider (-1)

Voorbeeld:

kafka-simple-consumer-shell  \
    --broker-list localhost:9092 \
    --partition 1 \
    --offset 4 \
    --max-messages 3 \
    --topic test-topic

toont 3 berichten van partitie 1 beginnend bij offset 4 van onderwerp test-onderwerp.

kafka-consumer-groepen

Met deze tool kunt u consumentengroepen weergeven, beschrijven of verwijderen. Lees dit artikel voor meer informatie over consumentengroepen.

Als u nog steeds de oude consumentenimplementatie gebruikt, vervangt u --bootstrap-server door --zookeeper .

Lijst consumentengroepen:

kafka-consumer-groups  --bootstrap-server localhost:9092 --list
octopus

Beschrijf een consumentengroep:

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

Opmerkingen : in de bovenstaande output,

  • current-offset is de laatste gecommitteerde offset van de consumentinstantie,
  • log-end-offset is de hoogste offset van de partitie (vandaar dat het optellen van deze kolom je het totale aantal berichten voor het onderwerp geeft)
  • lag is het verschil tussen de huidige offset van de consument en de hoogste offset, dus hoe ver achter de consument is,
  • owner is de client.id van de consument (indien niet opgegeven, wordt een standaard weergegeven).

Een consumentengroep verwijderen:

verwijdering is alleen beschikbaar wanneer de metagegevens van de groep zijn opgeslagen in zookeeper (oude consumenten-api). Met de nieuwe consumenten-API regelt de makelaar alles, inclusief het verwijderen van metagegevens: de groep wordt automatisch verwijderd wanneer de laatste gecommitteerde offset voor de groep verloopt.

kafka-consumer-groups --bootstrap-server localhost:9092 --delete --group octopus


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow