Xử lý sự cố Kafka

Giới thiệu về Apache Kafka

Mike Metzger

Data Engineering Consultant

Hành vi “hữu ích”

  • Kafka cố gắng hỗ trợ người dùng
  • Nhưng đôi khi lại gây rắc rối
  • Mặc định, topic không cần tồn tại trước khi ghi
  • Hãy nghĩ nếu gõ sai tên topic (ví dụ ordrs thay vì orders)

Hình chú chó bối rối

1 Ảnh: Dex Ezekiel trên Unsplash
Giới thiệu về Apache Kafka

Ví dụ “hữu ích”

$ 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
Giới thiệu về Apache Kafka

Lỗi kết nối

  • Kafka là dịch vụ mạng
  • Sự cố mạng có thể làm gián đoạn trao đổi với Kafka
  • Xem đầu ra lệnh để xác định vấn đề

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)
  • Kiểm tra Kafka đang chạy (ps ax | grep kafka, netstat -tlnp | grep 9092)
  • Kiểm tra tường lửa
  • Xác minh đúng cổng / IP
Giới thiệu về Apache Kafka

Các vấn đề thường gặp khác

  • Consumer:
    • Dùng --from-beginning nếu cần đọc thông điệp cũ
    • Nhớ --max-messages để giới hạn số thông điệp đọc
  • Tất cả công cụ:
    • Nhớ thêm --bootstrap-server
    • Hầu hết lỗi khá rõ và gợi ý cách xử lý
    • Có tùy chọn --help để xem chi tiết
Giới thiệu về Apache Kafka

Ayo berlatih!

Giới thiệu về Apache Kafka

Preparing Video For Download...