Sök…


Introduktion

Kafka erbjuder kommandoradsverktyg för att hantera ämnen, konsumentgrupper, konsumera och publicera meddelanden och så vidare.

Viktigt : Kafka-konsolskript är olika för Unix-baserade och Windows-plattformar. I exemplen kan du behöva lägga till tillägget enligt din plattform.

Linux : skript som finns i bin/ med .sh förlängningen.

Windows : skript som finns i bin\windows\ och med .bat förlängning.

Kafka-ämnen

Med det här verktyget kan du lista, skapa, ändra och beskriva ämnen.

Lista ämnen:

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

Skapa ett ämne:

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

skapar ett ämne med en partition och ingen replikering.

Beskriv ett ämne:

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

Ändra ett ämne:

# 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

(Se upp: Kafka stöder inte att minska antalet partitioner i ett ämne) (se denna lista med konfigurationsegenskaper )

kafka-console-producent

Med det här verktyget kan du producera meddelanden från kommandoraden.

Skicka enkla strängmeddelanden till ett ämne:

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

(varje ny rad är ett nytt meddelande, skriv ctrl + D eller ctrl + C för att stoppa)

Skicka meddelanden med nycklar:

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

Skicka meddelanden från en fil:

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

kafka-console konsumenter

Det här verktyget låter dig konsumera meddelanden från ett ämne.

för att använda den gamla konsumentimplementeringen, byt ut --bootstrap-server med --zookeeper .

Visa enkla meddelanden:

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

Konsumera gamla meddelanden:

För att se äldre meddelanden kan du använda --from-beginning .

Visa nyckelvärdesmeddelanden :

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

kafka-simple-konsument-shell

Denna konsument är ett verktyg på låg nivå som låter dig konsumera meddelanden från specifika partitioner, offset och repliker.

Användbara parametrar:

  • parition : den specifika partitionen att konsumera från (standard till alla)
  • offset : början offset. Använd -2 att konsumera meddelanden från början, -1 att konsumera från slutet.
  • max-messages : antal meddelanden som ska skrivas ut
  • replica : repliken, standard till mäklare-ledaren (-1)

Exempel:

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

visar 3 meddelanden från partition 1 som börjar vid förskjutning 4 från ämnet testämne.

kafka-konsumentgrupper

Detta verktyg låter dig lista, beskriva eller radera konsumentgrupper. Titta på den här artikeln för mer information om konsumentgrupper.

om du fortfarande använder den gamla konsumentimplementeringen, byt ut --bootstrap-server med --zookeeper .

Lista konsumentgrupper:

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

Beskriv en konsumentgrupp:

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

Anmärkningar : i utgången ovan,

  • current-offset är den sista begåvade kompensationen för konsumentinstansen,
  • log-end-offset är den högsta offseten för partitionen (följaktligen, genom att summera denna kolumn ger du det totala antalet meddelanden för ämnet)
  • lag är skillnaden mellan den nuvarande konsumentförskjutningen och den högsta förskjutningen, därmed hur långt bakom konsumenten är,
  • owner är client.id (om inget specificerat visas en standard).

Radera en konsumentgrupp:

borttagning är endast tillgänglig när gruppmetadata lagras i zookeeper (gammal konsument-api). Med det nya konsument-API hanterar mäklaren allt inklusive radering av metadata: gruppen raderas automatiskt när den senast begåda kompensationen för gruppen upphör.

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


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow