我们在 application.YAML 中配置了两个 Kafka broker,一个使用 SASL KERberOS,另一个使用 SASL SCRAM。在启动服务时,它使用 SASL KERberOS 连接到代理,并为其他代理 (SASL SCRAM) 提供以下错误。当我们在应用程序 YAML 中使用 SALS SCRAM 连接到一个代理时,它连接没有任何错误
================================================ ================================================ 将 SASL 客户端状态设置为 RECEIVE_APIVERSIONS_RESPONSE main] o.a.k.c.s.a.SaslClientAuthenticator 将 SASL 客户端状态设置为 SEND_HANDSHAKE_REQUEST main] o.a.k.c.s.a.SaslClientAuthenticator 将 SASL 客户端状态设置为 RECEIVE_HANDSHAKE_RESPONSE main] o.a.k.c.s.a.SaslClientAuthenticator 将 SASL 客户端状态设置为 INITIAL main] o.apache.kafka.common.network.Selector 来自 100.76.140.194 的意外错误;关闭连接
java.lang.NullPointerException: null 在 org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.sendSaslClientToken(SaslClientAuthenticator.java:389) 在 org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.sendInitialToken(SaslClientAuthenticator.java:296) 在 org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.authenticate(SaslClientAuthenticator.java:237)
应用程序.YAML
binders:
binder1:
type: kafka
environment:
spring:
cloud:
stream:
kafka:
binder:
replication-factor: 1
brokers: ${eventhub.broker.hosts2}
zkNodes: ${eventhub.zookeper.hosts2}
configuration:
security:
protocol: SASL_SSL
sasl:
mechanism: GSSAPI
ssl:
truststore:
location: ${eventhub.broker.cert.location2}
password: ${eventhub.broker.cert.password2}
jaas:
options:
useKeyTab: true
storeKey: true
keyTab: /scratch/kafka/kafka2/krb5.keytab
serviceName: kafka
principal: kafka/XXXXXXXXXXXXXXXX.COM
default:
consumer:
autoCommitOffset: false
binder2:
type: kafka
environment:
spring:
cloud:
stream:
kafka:
binder:
brokers: ${eventhub.broker.hosts} # 10.40.158.93:9093
zkNodes: ${eventhub.zookeper.hosts} #10.40.158.93:2181
autoCreateTopics: false
zkConnectionTimeout: 36000
headers:
- event
- sourceSystem
- userId
- branchCode
- kafka_messageKey
jaas:
loginmodule: org.apache.kafka.common.security.scram.ScramLoginmodule
options:
username: ${eventhub.broker.user}
password: ${eventhub.broker.password}
configuration:
security:
protocol: SASL_SSL
sasl:
mechanism: SCRAM-SHA-256
ssl:
enabled:
truststore:
location: ${eventhub.broker.cert.location}
password: ${eventhub.broker.cert.password}