CentOS で Python クライアントを使用して Kafka 0.10.0.0 にローカルで接続しようとすると、非常に奇妙な問題が発生します。
私の接続オプションは非常にシンプルでデフォルトです。
kafka_consumer = kafka.KafkaConsumer(
bootstrap_servers=['localhost:9092'],
client_id="python-test-consumer"
)
Kafka の server.properties ファイルでリスナーオプションを手動で設定すると、次のようになります。
listeners=PLAINTEXT://localhost:9092
curl やその他の Linux を使用して Kafka ブローカー サーバーに簡単に接続できるにもかかわらず、kafka.errors.NoBrokersAvailable を取得します。
アドバタイズされたリスナーやその他の非推奨のアドバタイズ オプションは、問題の解決に役立ちません。したがって、機能している構成の唯一の状態は、リスナーのない状態です。どうにかしてローカル クラスターをセットアップする必要があるため、これは確かに受け入れられません。
このばかげた問題の解決策は簡単なようで、いろいろ考えているのですが、私たち自身では解決できませんでした。