VB_*_*VB_ 4 architecture partitioning database-partitioning apache-kafka
我发现 Kafka 的分区机制笨拙且不舒服。Kafka 不支持自动分区重新分配功能,这会导致以下情况:
bin/kafka-reassign-partitions.sh脚本。您必须以 JSON 格式手动写出每个主题的分区重新分配。问题:
bin/kafka-reassign-partitions.sh?Kafka 是否使用任何优化(即一致哈希)或原始哈希范围分区?由于数据存储在代理上,如果您将分区重新分配给另一个代理,则必须复制所有数据。
此外,为了不失去任何保证,在复制期间,您必须维护额外的副本(旧副本和新副本)。请注意,正在开发一个 KIP 来改进该特定行为 ( KIP-435 )。
移动数据会给集群带来额外负载,显然会对性能产生重大影响
默认行为kafka-reassign-partitions.sh非常幼稚,如果您打算在真实环境中使用它,我真的建议您自己制作一个重新分配文件。
默认情况下,它将重新分配所有分区,基本上模拟使用新代理创建所有主题。虽然这很好地平衡了领导者,但这会导致大量数据需要复制。
实际上,只需移动分区的一小部分即可实现类似的结果,从而限制数据复制和对集群的影响。
如果您不确定如何制作重新分配文件,有很多可以生成和应用重新分配的工具:kafka-kit、cruise-control
| 归档时间: |
|
| 查看次数: |
4175 次 |
| 最近记录: |