gpt4 book ai didi

apache-spark - Kafka-在JAAS配置Java中找不到 'KafkaClient'条目

转载 作者:行者123 更新时间:2023-12-04 03:57:43 24 4
gpt4 key购买 nike

我在使用简单的Kafka客户程序时遇到了一些麻烦:

18/06/04 18:13:49 ERROR /log/log.txt: org.apache.kafka.common.KafkaException: Failed to construct kafka consumer
org.apache.kafka.common.KafkaException: Failed to construct kafka consumer
at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:647)
at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:542)
at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:524)
at com.carrefour.entequadratura.KafkaHandler.createConsumer(KafkaHandler.java:96)
at com.carrefour.entequadratura.KafkaHandler.runConsumer(KafkaHandler.java:104)
at com.carrefour.entequadratura.Main.main(Main.java:48)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:730)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: org.apache.kafka.common.KafkaException: java.lang.IllegalArgumentException: Could not find a 'KafkaClient' entry in the JAAS configuration. System property 'java.security.auth.login.config' is not set
at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:74)
at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:60)
at org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:79)
at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:577)
... 14 more
Caused by: java.lang.IllegalArgumentException: Could not find a 'KafkaClient' entry in the JAAS configuration. System property 'java.security.auth.login.config' is not set
at org.apache.kafka.common.security.kerberos.Login.login(Login.java:295)
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)
... 17 more

这些是我的属性:
BOOTSTRAP_SERVERS=xxxxxxxxxxxxxxxxxx:6667
GROUP_ID=EnteLoader
AUTO_COMMIT=false
AUTO_COMMIT_INTERVAL=10000
SESSION_TIMEOUT=30000
MAX_POLL_RECORDS=5
KEY_DESERIALIZER=org.apache.kafka.common.serialization.StringDeserializer
VALUE_DESERIALIZER=org.apache.kafka.common.serialization.StringDeserializer
SECURITY_PROTOCOL=SASL_PLAINTEXT
SASL_MECHANISM=GSSAPI
SASL_KERBEROS_SERVICE_NAME=kafka

我了解到这可能是与jaas.conf相关的问题,但是我是Kafka的新手,我也不知道如何找到它。

请你帮助我好吗?
谢谢!

最佳答案

您可以通过两种方式将jaas conf传递给您的kafka用户。

  • 如果使用的kafka客户端版本大于0.10.2.1,则可以设置属性sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USERNAME" password="PASSWORD";
  • 如错误消息所述,您可以设置系统属性java.security.auth.login.config,为此,您需要将jaas配置字符串放入文件中,并将该路径作为上述系统属性的值。

  • jaas.conf
    KafkaClient {
    org.apache.kafka.common.security.plain.PlainLoginModule required
    serviceName="yourServiceName"
    username="userName"
    password="password";
    };

    然后设置环境变量:
    System.setProperty("java.security.auth.login.config","/path/to/jaas.conf");

    我建议使用第一种选择,因为在使用第二种选择时会遇到一些问题。

    关于apache-spark - Kafka-在JAAS配置Java中找不到 'KafkaClient'条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50684956/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com