卡夫卡分区重新分配绩效影响

时间:2016-09-12 13:11:40

标签: apache-kafka kafka-consumer-api kafka-producer-api

我有一个包含5个节点和大约500个主题的Kafka生产群集。我需要扩展我的集群以添加2个新节点,因此,Kafka不提供自动数据重新分区,我希望与Kafka发行版一起运行kafka-reassign-partitions.sh以重新平衡集群中整个7个节点中的所有主题现在

由于我的群集中已经有大量的生产数据,

  1. 运行此脚本会阻止对我的Kafka主题的任何并发写入吗?
  2. 运行此脚本会减慢我的群集/生产者/消费者吗?
  3. 如果我的群集在此脚本执行期间开始行为不正常,我该如何停止此脚本正在进行中?
  4. 我目前正在使用Kafka v0.8.2.0与多个制作人和多个消费者。

1 个答案:

答案 0 :(得分:6)

Kafka-reassign-partitions的作用是:

  1. 根据需要在新代理上创建新副本
  2. 让他们复制数据,直到他们赶上领导者
  3. 在需要时触发领导人选举
  4. 删除所需的副本
  5. 领导者选举阶段将延迟写入(就像任何领导者的故障转移一样)。 消费者/生产者可能会因为额外的复制占用磁盘和网络资源(有时是重要资源)而变慢 您无法在进行中停止此操作。我的意思是,你可以从ZK删除相关的节点,但它没有真正测试过,所创建的新副本将会存在......我不会尝试。如果您担心,我建议您一次移动一个分区。

    在0.10.1.0(现在进行功能冻结)中,我们将添加限制重新分配工作的功能,这将限制对生产者和消费者的性能影响。

相关问题