带有kerberos身份验证的kafka控制台使用者

bmp9r5qi  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(405)

如何使用kerberos授权的kafka(版本0.10)服务器发布的消息,以便使用身份验证keytab文件。
我尝试使用下面的命令,但没有显示输出。
bin/kafka-console-consumer.sh--引导服务器:9092--主题--从头开始

rur96b6h

rur96b6h1#

启用kerberos的集群有时会带来一些棘手的挑战。我不得不亲自处理其中一些问题。
如果kafka集群启用了kerberos,那么您需要提供一个jaas.conf文件,其中包含kerberos的详细信息。尝试以下步骤(它们对我有用):
创建包含以下内容的jaas.conf文件:

KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="<path-to-the-keytab-file>"
principal="<kafka-principal>";
};

注意:我假设已经创建了kafka主体和相关联的keytab。如果没有,您需要先创建这些。
创建包含以下内容的属性文件(例如“consumer.properties”):

security.protocol=SASL_PLAINTEXT
sasl.kerberos.service.name=kafka

然后在终端运行以下命令:

$export KAFKA_OPTS="-Djava.security.auth.login.config=<path-to-jaas.conf>"

执行kafka控制台使用者脚本:

$ kafka-console-consumer --topic <topic-name> --from-beginning 
--bootstrap-server <anybroker>:9092 --consumer.config <consumer.properties>

我希望这有帮助。

相关问题