Kafka集群扩容缩容的步骤分别是什么?

Kafka集群的扩容和缩容主要的步骤如下:

扩容集群

  1. 增加新的Broker节点
  2. 在新增节点上运行Kafka,设置不同的broker.id
  3. 新增节点加入到Zookeeper集群
  4. 扩容Partition数量
./bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic test --partitions 6
  1. 分配新的Partition给新增的Broker节点
  2. 创建新的Topic时,会自动将Partition分配到所有Broker

缩容集群

  1. 释放需要下线的Broker节点
  2. 重新分配该Broker上的Partition到其他Broker
./bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic test --replica-assignment-json "{'0':[1,2],'1':[2,3],'2':[0,3]}" 
  1. 缩减Partition数量
./bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic test --partitions 4
  1. 下线Broker节点
  2. 更新生产者和消费者客户端,移除下线Broker

总结来说:

  • 扩容:增加Broker节点、扩充Partition数量、分配Partition
  • 缩容:迁移Partition、缩减Partition数量、下线Broker节点

重点是通过增加或者减少Partition数量来实现 Kafka 集群的扩容和缩容。同时需要分配和重新分配Partition到 Broker 节点上。