带有 kerberos 的 kafka-console-producer 抛出安全协议不是公认的选项

kafka-console-producer with kerberos throws security-protocol is not a recognized option

我已经为所有 Hadoop 服务启用了 Ambari v2.7.3 和 HDP v3.1.0 的 Kerberos。我已经使用 NIFI 验证了 HBase 身份验证。我也需要测试 Kafka。在 Kafka 控制台中,我可以创建一个主题。但是在生产和消费时我遇到了如下错误。

security-protocol is not a recognized option

下面是我试过的Kafka生产者命令

/usr/hdp/3.1.0.0-78/kafka/bin/kafka-console-producer.sh --broker-list HOSTNAME:6667 --topic test_new_topic --security-protocol SASL_PLAINTEXT

--property 与 属性 名称一起使用,如下所示:

/usr/hdp/3.1.0.0-78/kafka/bin/kafka-console-producer.sh --broker-list HOSTNAME:6667 --topic test_new_topic  --property security.protocol=SASL_PLAINTEXT

我的建议是将所有属性添加到一个文件(例如 client-ssl.properties)下,内容如下:

security.protocol=SASL_PLAINTEXT

最后使用–-producer.config将属性文件传递给控制台制作者:

/usr/hdp/3.1.0.0-78/kafka/bin/kafka-console-producer.sh –-broker-list HOSTNAME:6667 –-topic test_new_topic –-producer.config client-ssl.properties

如果不想使用属性文件,可以使用--producer-property传递security.protocol配置:

/usr/hdp/3.1.0.0-78/kafka/bin/kafka-console-producer.sh --broker-list HOSTNAME:6667 --topic test_new_topic  --producer-property security.protocol=SASL_PLAINTEXT