Kafka-probleemoplossing

Introductie tot Apache Kafka

Mike Metzger

Data Engineering Consultant

“Behulpzame” gedragingen

  • Kafka probeert behulpzaam te zijn
  • Soms veroorzaakt dat juist problemen
  • Een topic hoeft standaard niet te bestaan vóór je schrijft
  • Wat als je een topicnaam spelt als ordrs in plaats van orders?

Foto van een verwarde hond

1 Afbeelding met dank aan Dex Ezekiel op Unsplash
Introductie tot Apache Kafka

“Behulpzaam” voorbeeld

$ bin/kafka-topics.sh --bootstrap-server localhost:9092 --list
orders
$ echo "Test message" | bin/kafka-console-producer.sh 
   --bootstrap-server localhost:9092 \
   --topic ordrs
$ bin/kafka-topics.sh --bootstrap-server localhost:9092 --list
orders
ordrs
Introductie tot Apache Kafka

Connectiviteitsproblemen

  • Kafka is een netwerkservice
  • Elk netwerkprobleem kan Kafka-communicatie verstoren
  • Bekijk command-output om oorzaken te vinden

bin\kafka-topics.sh --bootstrap-server localhost:9092 --list

WARN [AdminClient clientId=adminclient-1] 
  Connection to node -1 (localhost/127.0.0.1:9092) could not be established.
  Node may not be available. (org.apache.kafka.clients.NetworkClient)
  • Check of Kafka draait (ps ax | grep kafka, netstat -tlnp | grep 9092)
  • Controleer firewallproblemen
  • Verifieer juiste poort/IP
Introductie tot Apache Kafka

Andere veelvoorkomende problemen

  • Consumers:
    • Gebruik --from-beginning voor oudere berichten
    • Gebruik --max-messages om een specifiek aantal te lezen
  • Alle tools:
    • Vergeet --bootstrap-server niet
    • Foutmeldingen zijn vaak duidelijk en wijzen op oplossingen
    • Tools hebben ook --help voor meer info
Introductie tot Apache Kafka

Laten we oefenen!

Introductie tot Apache Kafka

Preparing Video For Download...