Java >> Java tutorial >  >> Java

Apache Kafka Grundlæggende betjeningsvejledning

Dette er en turorial om Apache Kafka Basic Operations.

1. Introduktion

Apache Kafka er en softwareplatform til streamingprocesser. I dette eksempel vil jeg vise følgende grundlæggende handlinger med en Windows-computer:

  • Sådan starter/stopper du server
  • Sådan opretter og angiver du emner
  • Sådan bruger du beskeder fra et emne

2. Anvendte teknologier

Eksempelkommandoer i denne artikel bruger:

  • Apache Kafka 2.6

3. Administrer Kafka Server

Hvis du ikke har installeret Apache Kafka endnu, skal du klikke her for at installere.

3.1 Start Zookeeper

I dette trin vil jeg starte zookeeper med følgende kommando:

zookeeper-server-start

C:\MaryZheng\kafka_2.12-2.6.0\bin\windows>zookeeper-server-start.bat ..\..\config\zookeeper.properties

Du bør finde følgende logerklæring for at bekræfte, at Zookeeper er startet.

[2020-10-29 21:47:35,387] INFO Created server with tickTime 3000 minSessionTimeout 6000 maxSessionTimeout 60000 datadir \tmp\zookeeper\version-2 snapdir \tmp\zookeeper\version-2 (org.apache.zookeeper.server.ZooKeeperServer)

3.2 Start Kafka Broker

I dette trin vil jeg starte en Kafka-server med følgende kommando:

kafka-server-start

C:\MaryZheng\kafka_2.12-2.6.0\bin\windows>kafka-server-start.bat ..\..\config\server.properties

Du bør finde følgende logerklæring for at bekræfte, at Kafka-mægleren er startet.

[2020-10-29 21:48:35,692] INFO [KafkaServer id=0] started (kafka.server.KafkaServer)

4. Administrer Kafka-emner

I dette trin vil jeg bruge kafka-emner kommando til at liste alle emnerne på den givne Kafka-mægler og oprette et nyt emne.

kafka-emne

C:\MaryZheng\kafka_2.12-2.6.0\bin\windows>kafka-topics.bat --list --zookeeper localhost:2181

C:\MaryZheng\kafka_2.12-2.6.0\bin\windows>kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic zheng_test_topic
WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both.
Created topic zheng_test_topic.

C:\MaryZheng\kafka_2.12-2.6.0\bin\windows>kafka-topics.bat --list --zookeeper localhost:2181
zheng_test_topic

C:\MaryZheng\kafka_2.12-2.6.0\bin\windows>

5. Brug meddelelser fra et emne

I dette trin vil jeg bruge kafka-console-consumer kommando til at modtage beskeder fra et givne emne hos en givende mægler.

kafka-konsol-forbruger

C:\MaryZheng\kafka_2.12-2.6.0\bin\windows>kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic zheng-cli-topic3 --from-beginning
{"data", "some_value"}
C:\MaryZheng\kafka_2.12-2.6.0\bin\windows>kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic zheng-cli-topic3 --from-beginning --property print.key=true
Key3    {"data", "some_value"}
Key2    {"data", "some_value"}

Mens jeg lytter til emnet, vil jeg bruge følgende kommando til at sende besked til emnet:

kafka-konsol-producer

C:\MaryZheng\kafka_2.12-2.6.0\bin\windows>kafka-console-producer.bat --topic zheng_test_topic --bootstrap-server localhost:9092

Når promptsymbolet “>” vises, kan du skrive en besked og trykke på Enter-tasten for at sende. Du bør også se den samme meddelelse i forbrugervinduet. Se skærmbilledet for et eksempel.

6. Se serverlog

Ved fejlfinding er det første sted at tjekke serverloggen. For mit vedkommende er logfilen placeret på C:\MaryZheng\kafka_2.12-2.6.0\logs \

Her er eksempelfejlen, jeg fik, da jeg testede forskellige Kafka-servere med forskellige versioner, men som alle brugte den samme datamappe.

[2020-10-29 21:54:46,097] ERROR Shutdown broker because all log dirs in C:\tmp\kafka-logs have failed (kafka.log.LogManager)

Denne fejl kan rettes ved at rense databiblioteket og derefter genstarte serveren.

7. Resumé

I dette eksempel demonstrerede jeg følgende Kafka-operationer, som en Kafka-applikationsudvikler almindeligvis bruger:

  • start/stop server
  • liste og opret emner
  • forbruge beskeder fra et emne
apache kafka
Java tag