長(zhǎng)風(fēng)秋雁
2023-08-04 19:10:17
我正在嘗試對(duì) KafkaConsumer 使用 kerberos 身份驗(yàn)證。為此,我添加了以下屬性。 props.put("security.protocol", "SASL_PLAINTEXT"); // Setting this means we try to look in jaas.conf props.put("sasl.kerberos.service.name", "kafka");但是,我收到一條錯(cuò)誤消息:java.lang.IllegalArgumentException: Could not find a 'KafkaClient' entry in the JAAS configuration. System property 'java.security.auth.login.config' is /Users/jhutc/projects/molly/Monitor-Lizard-API/out/production/resources/hive_config/local/jaas.conf完整錯(cuò)誤:Caused by: org.apache.kafka.common.KafkaException: Failed to construct kafka consumerat org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:799) ~[kafka-clients-2.0.0.jar:?]at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:615) ~[kafka-clients-2.0.0.jar:?]at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:596) ~[kafka-clients-2.0.0.jar:?]at com.xxx.xx.moli.data.KafkaDataHelper.getConsumer(KafkaDataHelper.java:293) ~[classes/:?]... 53 moreCaused by: java.lang.IllegalArgumentException: Could not find a 'KafkaClient' entry in the JAAS configuration. System property 'java.security.auth.login.config' is /Users/jhutc/projects/molly/Monitor-Lizard-API/out/production/resources/hive_config/local/jaas.conf at org.apache.kafka.common.security.JaasContext.defaultContext(JaasContext.java:133) ~[kafka-clients-2.0.0.jar:?] at org.apache.kafka.common.security.JaasContext.load(JaasContext.java:98) ~[kafka-clients-2.0.0.jar:?] at org.apache.kafka.common.security.JaasContext.loadClientContext(JaasContext.java:84) ~[kafka-clients-2.0.0.jar:?] at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:119) ~[kafka-clients-2.0.0.jar:?] at org.apache.kafka.common.network.ChannelBuilders.clientChannelBuilder(ChannelBuilders.java:65) ~[kafka-clients-2.0.0.jar:?]誰(shuí)能解釋為什么我收到錯(cuò)誤,并且 KafkaClient 部分沒(méi)有被選中?(順便說(shuō)一句,jaas.conf 文件的第二部分已被正確選取用于應(yīng)用程序的不同部分。)
1 回答

慕姐8265434
TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊
JAAS 文件的準(zhǔn)確語(yǔ)法可能很難正確掌握。每個(gè) LoginModule 項(xiàng)之后以及每個(gè)塊之后都需要分號(hào)。principal="jhutc@AD.company.COM"所以你可能在塊后面缺少一個(gè)分號(hào)KafkaClient。
但是,從 Kafka 0.10.2 開(kāi)始,使用該sasl.jaas.config設(shè)置來(lái)配置客戶端以使用 SASL 變得更加容易。
例如:
props.put("sasl.jaas.config", "com.sun.security.auth.module.Krb5LoginModule required " +
? ? "useKeyTab=true " +
? ? "storeKey=true " +
? ? "keyTab=\"src/main/resources/hive_config/local/jhutc.keytab\" " +
? ? "principal=\"jhutc@AD.company.COM\";");
添加回答
舉報(bào)
0/150
提交
取消