【问题标题】:KafkaStream createTopic not respecting Kafka server's auto.create.topics.enable settingsKafka Stream 创建主题不尊重 Kafka 服务器 auto.create.topics.enable 设置
【发布时间】:2017-12-18 04:36:19
【问题描述】:

我们有一个生产 Kafka 集群,最近被一堆新主题污染了。 Kafka 集群有以下设置:

auto.create.topics.enable=false
delete.topic.enable=false

经过调查,我发现这些主题是由使用KafkaStream的createTopic方法的客户团队创建的: org.apache.kafka.streams.integration.utils.EmbeddedKafkaCluster#createTopic(java.lang.String, int, int)

这是否意味着KafkaStream的主题创建没有经过auto.create.topics.enable的Server side broker设置?这是否意味着 createTopic* 方法不算作自动主题创建?如果是这样,我们如何阻止客户团队以编程方式在 Kafka 集群上创建主题?

编辑:kafka 集群运行 10.1.1,客户端运行 Kafka 和 Kafka-Stream 的 1.0.0

【问题讨论】:

    标签: apache-kafka apache-kafka-streams


    【解决方案1】:

    配置 auto.create.topics.enable 仅适用于客户端尝试读取/写入不存在主题(或查询不存在主题的元数据)的情况。

    Kafka Streams 确实使用 CreateTopic 请求显式创建主题,因此 auto.create.topics.enable 不适用。

    您可以为您的集群设置一些 ACL 来控制谁可以创建主题:https://kafka.apache.org/0101/documentation.html#security_authz

    注意:如果您禁止使用 Kafka Streams 的团队创建新主题,那么他们将很难使用 Kafka Streams。如果没有这些主题,Kafka Streams 将无法运行,您需要手动创建这些主题(使用正确的配置),以免破坏 Kafka Streams 应用程序。

    【讨论】:

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