您必须在安全模式kafka中传递java.security.auth.login.config



我正在尝试在kafka命令下运行(我们使用的是kafka 0.9版本(-

binwindowskafka-console-producer.bat --broker-list localhost --producer.config configaction-ssl.properties --topic topic_name

action-ssl.properties-

sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="action" password="1111111";
ssl.endpoint.identification.algorithm=
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
ssl.truststore.location=D:toolkafka_2.11-0.9.0.0configkafka.client.truststore.jks
ssl.truststore.password=11111111

异常-

org.apache.kafka.common.KafkaException: Failed to construct kafka producer
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:321)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:181)
at kafka.producer.NewShinyProducer.<init>(BaseProducer.scala:36)
at kafka.tools.ConsoleProducer$.main(ConsoleProducer.scala:46)
at kafka.tools.ConsoleProducer.main(ConsoleProducer.scala)
Caused by: org.apache.kafka.common.KafkaException: java.lang.IllegalArgumentException: You must pass java.security.auth.login.config in secure mode.
at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:73)
at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:60)
at org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:80)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:271)
... 4 more
Caused by: java.lang.IllegalArgumentException: You must pass java.security.auth.login.config in secure mode.
at org.apache.kafka.common.security.kerberos.Login.login(Login.java:289)
at org.apache.kafka.common.security.kerberos.Login.<init>(Login.java:104)
at org.apache.kafka.common.security.kerberos.LoginManager.<init>(LoginManager.java:44)
at org.apache.kafka.common.security.kerberos.LoginManager.acquireLoginManager(LoginManager.java:85)
at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:55)
... 7 more

您使用的是Kafka 0.9.0.0。我建议升级到最近的版本,但根据这个页面

由于Kafka中的一个错误,密钥库配置在0.9.0.0中是必需的,该错误已经修复,并将包含在0.9.0.1中。

最后,我们将JAAS文件的名称作为JVM参数传递给客户端JVM:

<blockquote\
-Djava.security.auth.login.config=/etc/kafka/kafka_client_jaas.conf

>正在为windows翻译。。。

set KAFKA_OPTS="-Djava.security.auth.login.config=C:pathtokafka_client_jaas.conf"
kafka-console-producer.bat ...

最新更新