web-dev-qa-db-ja.com

Kafka Kerberos認証を使用するコンソールコンシューマー

認証キータブファイルが使用されているために、Kerberosが承認されたkafka(バージョン0.10)サーバーから公開されたメッセージを消費する方法。

以下のコマンドで試しましたが、出力が表示されませんでした。

bin/kafka-console-consumer.sh --bootstrap-server:9092 --topic --from-beginning

5
Raju

Kerberos対応のクラスターは、いくつかの難しい問題を引き起こす可能性があります。私はこれらのいくつかに自分で対処しなければなりませんでした。

KafkaクラスターがKerberos対応である場合は、Kerberosの詳細をjaas.confファイルに提供する必要があります。次の手順に従ってください(これらは私のために機能しました) )::

  1. 次の内容のjaas.confファイルを作成します。
KafkaClient {
com.Sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="<path-to-the-keytab-file>"
principal="<kafka-principal>";
};

注:Kafkaプリンシパルと関連するキータブは既に作成されていると想定しています。作成されていない場合は、最初にこれらを作成する必要があります。

  1. 次の内容のプロパティファイル(「consumer.properties」など)を作成します。
security.protocol=SASL_PLAINTEXT
sasl.kerberos.service.name=kafka
  1. 次に、ターミナルで次のコマンドを実行します。
$export KAFKA_OPTS="-Djava.security.auth.login.config=<path-to-jaas.conf>"
  1. Kafka-console-consumerスクリプトを実行します。
$ kafka-console-consumer --topic <topic-name> --from-beginning 
--bootstrap-server <anybroker>:9092 --consumer.config <consumer.properties>

これがお役に立てば幸いです。

6
Lalit