Kafka のトラブルシューティング

Apache Kafka 入門

Mike Metzger

Data Engineering Consultant

「親切」な挙動

  • Kafka はユーザーに親切な設計です
  • しかし、かえって問題になることもあります
  • 既定では、書き込み前にトピックの事前作成は不要
  • トピック名を誤入力した場合を考えてください(例: orders の代わりに ordrs

困惑した犬の写真

1 画像提供: Dex Ezekiel(Unsplash)
Apache Kafka 入門

「親切」な例

$ 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
Apache Kafka 入門

接続性の問題

  • Kafka はネットワークサービスです
  • どのネットワーク問題も通信障害を引き起こします
  • コマンド出力から原因を特定しましょう

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)
  • Kafka サービスが稼働中か確認(ps ax | grep kafka, netstat -tlnp | grep 9092
  • ファイアウォールを確認
  • 正しいポート/IP を確認
Apache Kafka 入門

その他のよくある問題

  • コンシューマー:
    • 過去のメッセージが必要なら --from-beginning を使用
    • 特定数だけ読むなら --max-messages を指定
  • すべてのツール:
    • --bootstrap-server を必ず指定
    • 多くのエラーメッセージは明確で解決策を示します
    • 詳細は --help でも確認可能
Apache Kafka 入門

Passons à la pratique !

Apache Kafka 入門

Preparing Video For Download...