我有一个Spring应用程序使用Kafka实例而没有任何身份验证。
现在故事发生了变化,Kafka退出了应用程序并作为集群运行。我收到了Kafka Credential用户名和密码以及主机名:端口信息。
其他信息,我需要连接到Kafka Cluster。
是否需要更改代码?或者我只是需要在application-profile.yaml文件中添加一些信息?
我尝试了谷歌建议的不同方法,但似乎对我没什么用,我一直得到:
错误: 打开与服务器X1.X2.X3.X4 / X1.X2.X3.X4:2181的套接字连接。不会尝试使用SASL进行身份验证(未知错误)
hequeue:
#To use local kafka, update use-mock-queue to false and add local zkservers and metadata-broker-list
use-mock-queue: false
zkservers: X1.X2.X3.X4:2181,Y1.Y2.Y3.Y4:2181,Z1:Z2:Z3:Z4:2181
metadata-broker-list: X1.X2.X3.X4:9092,Y1.Y2.Y3.Y:9092,Z1:Z2:Z3:Z4:9092
properties:
sasl:
jaas:
config: org.apache.kafka.common.security.scram.ScramLoginModule required username='ANKIT' password='KOTAK';
mechanism: SCRAM-SHA-256
kerberos:
service:
name: kafka
security:
protocol: SASL_SSL
以下是使用spring kafka的示例配置之一。如果匹配,您可以尝试:
spring:
kafka:
bootstrap-servers:
consumer:
properties:
isolation.level:
ssl.truststore.location:
ssl.truststore.password:
security.protocol: SASL_SSL
sasl.mechanism: GSSAPI
sasl.kerberos.service.name:
producer:
properties:
ssl.truststore.location:
ssl.truststore.password:
security.protocol: SASL_SSL
sasl.mechanism: GSSAPI
sasl.kerberos.service.name:
admin:
properties:
ssl.truststore.location:
ssl.truststore.password:
security.protocol: SASL_SSL
sasl.mechanism: GSSAPI
sasl.kerberos.service.name: kafka