Rozwiązywanie problemów z Kafka

Wprowadzenie do Apache Kafka

Mike Metzger

Data Engineering Consultant

Zachowania „pomocne"

  • Kafka stara się być pomocna dla użytkowników
  • Czasem jednak powoduje to problemy
  • Domyślnie temat nie musi istnieć przed zapisem
  • Rozważmy, co się stanie przy literówce w nazwie tematu (np. ordrs zamiast orders)

Zdjęcie zdezorientowanego psa

1 Image courtesy Dex Ezekiel on Unsplash
Wprowadzenie do Apache Kafka

Przykład „pomocnego" zachowania

$ 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
Wprowadzenie do Apache Kafka

Problemy z łącznością

  • Kafka jest usługą sieciową
  • Problemy z siecią mogą zakłócać komunikację z Kafka
  • Analizuj dane wyjściowe poleceń w celu identyfikacji problemów

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)
  • Sprawdź, czy usługa Kafka działa (ps ax | grep kafka, netstat -tlnp | grep 9092)
  • Sprawdź ustawienia zapory sieciowej
  • Zweryfikuj poprawność portu / adresu IP
Wprowadzenie do Apache Kafka

Inne typowe problemy

  • Konsumenci:
    • Użyj --from-beginning, aby odczytać starsze wiadomości
    • Użyj --max-messages, aby ograniczyć liczbę wiadomości
  • Wszystkie narzędzia:
    • Pamiętaj o podaniu --bootstrap-server
    • Większość komunikatów błędów jest czytelna i wskazuje możliwe rozwiązania
    • Narzędzia obsługują opcję --help z dodatkowymi informacjami
Wprowadzenie do Apache Kafka

Czas na ćwiczenia!

Wprowadzenie do Apache Kafka

Preparing Video For Download...