具有kerberos身份验证的Kafka Console使用者

问题描述 投票:2回答:1

如何使用来自kberka(版本0.10)服务器的已发布消息,该服务器是kerberos授权的,用于验证密钥表文件。

我尝试使用以下命令,但没有显示输出。

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

linux authentication apache-kafka kerberos
1个回答
6
投票

启用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主体和关联的keytab。如果没有,您需要先创建它们。

  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>

我希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.