如何使用kerberos授权的kafka(版本0.10)服务器发布的消息,以便使用身份验证keytab文件。我尝试使用下面的命令,但没有显示输出。bin/kafka-console-consumer.sh--引导服务器:9092--主题--从头开始
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>
我希望这有帮助。
1条答案
按热度按时间rur96b6h1#
启用kerberos的集群有时会带来一些棘手的挑战。我不得不亲自处理其中一些问题。
如果kafka集群启用了kerberos,那么您需要提供一个jaas.conf文件,其中包含kerberos的详细信息。尝试以下步骤(它们对我有用):
创建包含以下内容的jaas.conf文件:
注意:我假设已经创建了kafka主体和相关联的keytab。如果没有,您需要先创建这些。
创建包含以下内容的属性文件(例如“consumer.properties”):
然后在终端运行以下命令:
执行kafka控制台使用者脚本:
我希望这有帮助。