
私はケルベロス化されたKafkaクラスタ。問題なく動作しており、メッセージの生成と消費が可能です。次に、カフカツール2ソフトウェアであり、次のコマンドで cmd 経由でプログラムを実行しています。
kafkatool.exe -J-Djava.security.auth.login.config=d:\client_jaas.conf
しかし、空白を埋めると、こうなりますエラー:
エラー Kafkatool.exe - SASL_PLAINTEXT
これは私のJAASファイル:
Server {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="D:\kafkaadmin.keytab"
storeKey=true
useTicketCache=false
principal="admin/[email protected]";
};
KafkaServer {
com.sun.security.auth.module.Krb5LoginModule required debug=true
useKeyTab=true
storeKey=true
keyTab="D:\kafkaadmin.keytab"
principal="admin/[email protected]";
};
// For Zookeeper Client
Client {
com.sun.security.auth.module.Krb5LoginModule required debug=true
useKeyTab=true
storeKey=true
keyTab="D:\kafkaadmin.keytab"
principal="admin/[email protected]";
};
KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required debug=true
useKeyTab=true
storeKey=true
keyTab="D:\kafkaadmin.keytab"
principal="admin/[email protected]";
};
何が欠けているのでしょうか?
Kafka クラスター OS: Ubuntu 14.04
ユーザー OS: Windows 10 Enterprise
答え1
Kerberos 化された kafka 環境でメッセージを確認しようとしたときに、仮想マシンで同様の問題が発生しました。KafkaClient 構成で serviceName="kafka" を設定してみてください。
また、引数として -J-Djava.security.auth.login.config を渡して kafkatool を実行するようにしてください。
クライアント JAAS 構成の例:
KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
serviceName="kafka"
useKeyTab=true
keyTab="<path_to>/user.keytab"
principal="user@domain";
};
私は Linux 環境でツールを使用しましたが、上記の方法で Windows でも問題が解決すると思います。