首页 > 解决方案 > Nifi:使用具有特定数量的分区/复制因子的 PublishKafka 创建 Kafka 主题

问题描述

我正在使用 Apache Nifi 版本1.10.0PublishKafka_2_0我已经使用处理器从 Nifi 将一些数据放入 Kafka 。我有三个与 Kafka 一起运行的 Kafka 经纪人。我从 Nifi 获取数据,但在 Nifi 中创建的主题的复制因子为 1,分区为 1。

在 PublishKafka 中创建新主题时,如何更改复制因子和分区的默认值?换句话说,我希望处理器使用partitions=3andreplication-factors=3而不是 1 创建新主题。我知道这可以在创建主题后更改,但我希望它在创建时动态完成。

标签: apache-kafkaapache-nifi

解决方案


如果我正确理解您的设置,则您依赖客户端来创建主题,即当 NiFi 尝试为不存在的主题生成/使用/获取元数据时创建主题。在这种情况下,Kafka 将使用num.partitionsdefault.replication.factor设置在代理配置中定义的新主题。(Kafka 默认为 1。)目前,更新这些值server.properties是控制自动创建主题配置的唯一方法。

正在研究KIP-487以允许生产者控制主题创建(而不是作为服务器端的、对所有的判决),但即使在该实现中,也没有计划让客户端控制分区或复制的数量因素。


推荐阅读