我是Apache Kafka的新用户,我仍然了解内部情况。
在我的用例中,我需要从Kafka Producer客户端动态增加主题的分区数。
我发现有关增加分区大小的其他类似questions,但它们使用了zookeeper配置。但我的kafkaProducer只有Kafka代理配置,但没有zookeeper配置。
有没有办法可以从Producer端增加主题的分区数量?我正在运行Kafka版本0.10.0.0。
答案 0 :(得分:6)
截至Kafka 0.10.0.1(最新版本):正如Manav所说,无法增加Producer
客户端的分区数量。
展望未来(下一版本):在即将推出的Kafka版本中,客户将能够执行一些主题管理操作,如KIP-4中所述。 Kafka的trunk
已经完成了很多KIP-4功能。截至今天trunk
中的代码允许客户创建和删除主题。但遗憾的是,对于您的用例,仍然无法增加分区数量 - 这是KIP-4的范围(请参阅Alter Topics Request),但尚未完成。
TL; DR:Kafka的下一个版本将允许您增加Kafka主题的分区数,但此功能尚不可用。
答案 1 :(得分:2)
无法增加Producer客户端的分区数。 任何特定的用例都使用了为什么你不能使用代理实现这个目的?
但是我的kafkaProducer只有Kafka代理配置,但不是 zookeeper config。
我认为任何客户端都不允许您更改代理配置。您最多只能访问(读取)服务器端配置。
答案 2 :(得分:0)
您的制作人可以为ProducerRecord提供不同的密钥。代理将它们放在不同的分区中。例如,如果您需要两个分区,请使用键" abc"和" xyz"。
这也可以在0.9版本中完成。