【问题标题】:Unable to produce messages to Kafka with SSL enabled无法在启用 SSL 的情况下向 Kafka 生成消息
【发布时间】:2018-10-13 14:56:06
【问题描述】:

我配置了启用 SSL 的 kafka (1.0) 并将 listeners 属性添加为 listeners=PLAINTEXT://:9092,SSL://:9093 并将听众宣传为advertisted.listeners=PLAINTEXT://PUBLICIP:9092,SSL://PUBLICIP:9093

我能够使用 9092 端口生成消息,但无法在启用 SSL 的 9093 上执行此操作。以下是我遇到的错误

[2018-05-03 10:51:41,990] ERROR Error when sending message to topic test with key: null, value: 16 bytes with error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)

org.apache.kafka.common.errors.TimeoutException: 60000 毫秒后更新元数据失败。

这是我正在使用的生产者命令

bin/kafka-console-producer.sh --broker-list PUBLICIP1:9093,PUBLICIP2:9093,PUBLICIP3:9093 --topic test --property security.protocol=SSL --producer.config ~/client.properties

这是 client.properties 中的条目

security.protocol=SSL
ssl.truststore.location=/home/ubuntu/kafka.client.truststore.jks
ssl.truststore.password=trustpassword

【问题讨论】:

  • 您需要启用调试日志记录甚至 ssl 调试日志记录才能在此处继续进行。问题可能出在服务器端、客户端或您的证书中。我建议您按照docs.confluent.io/current/tutorials/security_tutorial.html 之类的教程进行操作,这样您就可以知道您是否错过了任何步骤,因为您似乎正在生成自己的证书。
  • 如果您认为所有密钥库和证书都有效并且在代理中正确设置,然后尝试在属性文件中添加客户端密钥库和信任库。还要检查 broker 上的 ssl.cipher.suites 属性,并在您的生产者 ssl 属性中具有相同的属性。

标签: security ssl apache-kafka


【解决方案1】:

如果你使用 2.0+ 版本,下面是控制台生产者的命令

kafka-console-producer –broker-list kafka.example.com:9093 –topic securing-kafka –producer.config /etc/kafka/producer_ssl.properties

producer_ssl.properties

bootstrap.servers=kafka.example.com:9093
security.protocol=SSL
ssl.truststore.location=/etc/security/tls/kafka.client.truststore.jks
ssl.truststore.password=test1234
ssl.keystore.location=/etc/security/tls/kafka.client.keystore.jks
ssl.keystore.password=test1234
ssl.key.password=test1234

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-13
    • 1970-01-01
    • 2019-01-15
    • 2018-06-13
    • 1970-01-01
    • 2019-04-06
    • 1970-01-01
    • 2020-06-24
    相关资源
    最近更新 更多