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

Vij*_*sal 3 apache-kafka kafka-consumer-api kafka-producer-api

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

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

  1. 运行此脚本会阻止对我的Kafka主题的任何并发写入吗?
  2. 运行此脚本会减慢我的群集/生产者/消费者的速度吗?
  3. 如果脚本在此脚本执行期间开始行为异常,如何在脚本正在进行时停止该脚本?

我目前正在使用Kafka v0.8.2.0与多个生产者和多个消费者.

Gwe*_*ira 6

Kafka-reassign-partitions的作用是:

  1. 根据需要在新代理上创建新副本
  2. 让他们复制数据,直到他们赶上领导者
  3. 在需要时触发领导者选举
  4. 在需要时删除副本

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

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