2017-05-26 5 views
0

最近Kafkaクラスターがkerberizeされ、ブローカーのトピックからのメッセージの読み込みに問題が発生しました。Spring KafkaクライアントがKerberos対応のKafka Brokerトピックからメッセージを取得できません。

スプリングカフカ1.1.2.RELEASEとカフカクライアント0.10.0.1を使用しています。

私はApache Kafkaのドキュメントからの提案を経て、プロジェクトで以下の変更を加えました。

  1. コンシューマープロパティにsecurity.protocol SASL_PLAINTEXTが追加されました。
  2. 適切なJAASファイルを追加し、VM引数にパスを指定しました。
  3. KRB5.confを追加し、VM引数にパスを指定しました。
  4. 適切なkeytabエントリが作成され、JAASファイルでも提供されています。

この変更を投稿すると、問題なしでアプリケーションを起動できます(デバッグまたはトレースでエラーは発生しません)。ログにブローカへの接続が成功したことが表示されます。 私はまた、TCP接続をチェックし、クライアントとサーバーがうまく通信していることを示しています。

ただし、トピックからのメッセージを受信できず、ログにエラーが表示されないという問題があります。

私は何かが紛失しているか、トラブルシューティングできる方法がありますか?

+0

ためhttps://cwiki.apache.org/confluence/display/KAFKA/Kafka+Authorization+Command+Line+Interfaceを参照してください。しかし、あなたの問題に完全に無関係のように見えます。 Kafka Brokerがいくつかの手掛かりを記録しているかどうかを確認します。 –

+0

はい、私はkafka管理者にブローカのログレベルをDEBUGに設定するよう依頼しました。私は私の所見を更新します。 –

+0

Ok - kafka管理者が、トピックからのメッセージを受信できるように、自分のIDのアクセス許可を劇的に引き上げたようです。それでも根本的な原因を調査しています。 –

答えて

1

[OK] - kafkaの管理者に、適切な消費者グループと正しいトピックのkerberosプリンシパルに対する正しいACL(アクセス許可)を設定することで、これを解決しました。 https://github.com/spring-projects/spring-kafka/issues/201:

たちは春カフカへのKerberos設定を追加した最新のリリースではより多くの情報

関連する問題