【问题标题】:Kafka Producer not producing message on SSL using SpringKafka Producer 未使用 Spring 在 SSL 上生成消息
【发布时间】:2016-06-13 21:36:49
【问题描述】:

我正在尝试将 KAFKA 与 Spring 集成,我的 JAVA 应用程序正在与 KAFKA 服务器通信,并且当我使用 HTTP 运行应用程序时,我也在接收消息。

现在我想使用 Spring 在 KAFKA 上添加 SSL,并且我已经完成了在 SSL KAFKASPRING KAFKA 上指定的更改

当我使用命令行(使用 SSL)运行生产者和消费者时,通信正常进行,但是当我更改 Java 应用程序的配置并尝试在主题上生成和消费消息时,消费者工作正常,我得到了指定主题的消息。

但是生产者没有按预期工作,从 JAVA 应用程序生产者发送的消息没有在消费者(无论是命令行还是 JAVA 应用消费者)上收到。

我已经用谷歌搜索了它,但没有找到答案。有什么指点吗?

PS: KAFKA Version kafka 0.9.0.0, JAVA 7, Spring使用的SSL属性如下:

<prop key="ssl.keystore.location">/keystore.jks</prop>
<prop key="ssl.keystore.password">password</prop>
<prop key="ssl.key.password">password</prop>
<prop key="security.protocol">SSL</prop>
<prop key="ssl.truststore.location">/truststore.jks</prop>
<prop key="ssl.truststore.password">password</prop>

【问题讨论】:

    标签: spring spring-mvc apache-kafka kafka-consumer-api kafka-producer-api


    【解决方案1】:

    请添加此属性:

    ssl.protocol=SSL
    

    这里是生产者需要的所有属性:

    {
    ssl.protocol=SSL
    security.protocol=SSL
    ssl.truststore.location=/home/vagrant/securityDemo/kafka.client.truststore.jks
    ssl.truststore.password=test1234
    ssl.keystore.location=/home/vagrant/securityDemo/kafka.server.keystore.jks
    ssl.keystore.password=test1234
    ssl.key.password=test1234
    }
    

    参考 - 工作代码:https://github.com/Symantec/kafka-security-0.9/blob/master/src/main/resources/Producer.Properties

    【讨论】:

    • 感谢您的回复,但我正在尝试使用 Spring 进行此操作,并且我已经在 XML 中添加了该协议标记,但它没有帮助。
    • 任何错误日志??从卡夫卡方面?您可以尝试将 Java 代码与下面的代码进行比较。它对我有用。 github.com/Symantec/kafka-security-0.9/blob/master/src/main/…
    猜你喜欢
    • 2020-08-21
    • 2014-12-20
    • 1970-01-01
    • 2018-03-09
    • 2021-11-09
    • 2013-07-22
    • 1970-01-01
    • 2018-10-13
    • 2021-11-25
    相关资源
    最近更新 更多