【问题标题】:Spring Kafka Client unable to get messages from a Kerberos enabled Kafka Broker topicSpring Kafka Client 无法从启用 Kerberos 的 Kafka Broker 主题获取消息
【发布时间】:2017-10-27 12:22:35
【问题描述】:

我们最近对我们的 Kafka 集群进行了 kerberized,但我们开始在从代理上的主题读取消息时遇到问题。

我们正在使用 spring kafka 1.1.2.RELEASE 和 kafka 客户端 0.10.0.1。

在阅读了 Apache Kafka 文档中的建议后,我在项目中进行了以下更改。

  1. 在消费者属性中添加了 security.protocol SASL_PLAINTEXT。
  2. 添加了适当的 JAAS 文件并在 VM 参数中提供了路径。
  3. 添加了 KRB5.conf 并在 VM 参数中提供了路径。
  4. 我还在 JAAS 文件中创建并提供了相应的 keytab 条目。

发布此更改后,我可以毫无问题地启动应用程序(调试或跟踪中没有错误),并且我在日志中看到与代理的连接成功。 我还检查了 TCP 连接,它表明客户端和服务器通信良好。

但是,问题是我无法接收来自该主题的消息,并且在日志中看不到任何错误。

有什么我遗漏的东西或我可以通过其他任何方式进行故障排除吗?

【问题讨论】:

  • 在最近的版本中,我们在 Spring Kafka 中添加了 Kerberos 配置:github.com/spring-projects/spring-kafka/issues/201。但看起来这与你的问题完全无关。检查 Kafka Broker 日志以获取一些线索。
  • 是的,我已经要求我的 kafka 管理员在代理上将日志级别设置为调试。我会更新我的发现。
  • 好的 - 看起来 kafka 管理员暂时提升了我的 ID 的权限,以便能够接收来自该主题的消息。不过仍在调查根本原因..

标签: spring apache-kafka spring-kafka


【解决方案1】:

好的 - 我们现在已经通过让我们的 kafka 管理员为正确的消费者组和正确的主题为 kerberos 主体设置正确的 ACL(权限)来解决这个问题。

更多信息请参考https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Authorization+Command+Line+Interface

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-01
    • 2018-01-19
    • 1970-01-01
    • 2018-01-12
    • 1970-01-01
    • 2021-03-15
    • 2021-01-22
    • 2018-01-09
    相关资源
    最近更新 更多