我尝试将我的Kafka经纪人配置为在ssl下工作。我在所有经纪人中都有以下配置:
listeners=PLAINTEXT://0.0.0.0:9092, SSL://0.0.0.0:9093
advertised.host.name=my_host_ip
port=9092
ssl.truststore.location=/opt/kafka/kafka.server.truststore.jks
ssl.keystore.location=/opt/kafka/kafka.server.keystore.jks
ssl.key.password=123456
ssl.keystore.password=123456
ssl.truststore.password=123456
以及与我的ssl配置无关的其他一些定义。
在客户端配置中,我有以下内容:
security.protocol=SSL
ssl.truststore.location=/opt/kafka_2.12-0.10.2.0/config/ssl/kafka/client.truststore.jks
ssl.truststore.password=123456
使用端口9092(没有ssl)一切正常,但是当我尝试使用端口9093时 - 我收到以下错误,我无法将消息发布到Kafka主题:
2017-04-25T16:59:19.945801000Z [2017-04-25 16:59:19,857] ERROR [KafkaApi-2] Error when handling request {topics=null} (kafka.server.KafkaApis)
2017-04-25T16:59:19.945991000Z kafka.common.BrokerEndPointNotAvailableException: Broker `2` does not have listener with name `ListenerName(SSL)’
我在机器之间有ssl连接(用openssl检查)
可能是什么原因?
答案 0 :(得分:0)
我认为您正在暴露端口9092,但您的SSL配置为侦听9093.此外,如果我没记错,advertised.host.name
是kafka 0.10.x中不推荐使用的参数
我建议您评论advertised.host.name=my_host_ip
和port=9092
以及advertised.listeners=PLAINTEXT://<ip>:9092, SSL://<ip>:9093