場景
某監控進程需要訪問多個集群的Kafka
INFO - org.apache.kafka.common.KafkaException: Failed to construct kafka consumer
INFO - at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:765)
INFO - at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:633)
INFO - at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:615)
INFO - at com.sohu.rc.factory.KafkaServiceImpl.getLogsizeByCluster(KafkaServiceImpl.java:252)
INFO - at com.sohu.rc.service.KafkaHdfsMonitorServiceImpl.getAllTopicLogsize(KafkaHdfsMonitorServiceImpl.java:297)
INFO - at com.sohu.rc.service.KafkaHdfsMonitorServiceImpl.getHdfsKafkaMonitor(KafkaHdfsMonitorServiceImpl.java:175)
INFO - at com.sohu.rc.service.KafkaHdfsMonitorService.main(KafkaHdfsMonitorService.java:17)
INFO - Caused by: java.lang.IllegalArgumentException: Could not find a 'KafkaClient' entry in the JAAS configuration. System property 'java.security.auth.login.config' is /data_b/kafka/kafka_client_jaas_usekeytab.conf
INFO - at org.apache.kafka.common.security.JaasContext.defaultContext(JaasContext.java:131)
INFO - at org.apache.kafka.common.security.JaasContext.load(JaasContext.java:96)
INFO - at org.apache.kafka.common.security.JaasContext.load(JaasContext.java:78)
INFO - at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:100)
INFO - at org.apache.kafka.common.network.ChannelBuilders.clientChannelBuilder(ChannelBuilders.java:58)
INFO - at org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:88)
INFO - at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:695)
INFO - ... 6 common frames omitted
INFO - org.apache.kafka.common.KafkaException: Failed to construct kafka consumer
INFO - at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:765)
INFO - at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:633)
INFO - at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:615)
INFO - at com.sohu.rc.factory.KafkaServiceImpl.getLogsizeByCluster(KafkaServiceImpl.java:252)
INFO - at com.sohu.rc.service.KafkaHdfsMonitorServiceImpl.getAllTopicLogsize(KafkaHdfsMonitorServiceImpl.java:297)
INFO - at com.sohu.rc.service.KafkaHdfsMonitorServiceImpl.getHdfsKafkaMonitor(KafkaHdfsMonitorServiceImpl.java:175)
INFO - at com.sohu.rc.service.KafkaHdfsMonitorService.main(KafkaHdfsMonitorService.java:17)
INFO - Caused by: java.lang.IllegalArgumentException: Could not find a 'KafkaClient' entry in the JAAS configuration. System property 'java.security.auth.login.config' is /data_b/kafka/kafka_client_jaas_usekeytab.conf
INFO - at org.apache.kafka.common.security.JaasContext.defaultContext(JaasContext.java:131)
INFO - at org.apache.kafka.common.security.JaasContext.load(JaasContext.java:96)
INFO - at org.apache.kafka.common.security.JaasContext.load(JaasContext.java:78)
INFO - at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:100)
INFO - at org.apache.kafka.common.network.ChannelBuilders.clientChannelBuilder(ChannelBuilders.java:58)
INFO - at org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:88)
INFO - at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:695)
INFO - ... 6 more
Kafka官方文檔:
https://kafka.apache.org/0110/documentation.html#security_sasl
Clients may specify JAAS configuration as a producer or consumer property without creating a physical configuration file.
This mode also enables different producers and consumers within the same JVM to use different credentials by specifying different properties for each client.
If both static JAAS configuration system property java.security.auth.login.config and client property sasl.jaas.config are specified, the client property will be used.
表示如果同時設置了這兩個,則啟用sasl.jaas.config。所以需要檢查是哪個生效了,並且去對應的文件內檢查這個ClientConfig是否正確。
java.security.auth.login.config and sasl.jaas.config
