Kafka系列之:增加Kafka节点扩展Kafka集群
一、增加Kafka节点
- 将服务器添加到 Kafka 集群很容易,只需为它们分配一个唯一的代理 ID 并在新服务器上启动 Kafka。然而,这些新服务器不会自动分配任何数据分区,因此除非将分区移动到它们,否则它们将不会做任何工作,直到创建新主题。因此,通常当您将机器添加到集群时,会希望将一些现有数据迁移到这些机器上。
- 迁移数据的过程是手动启动的,但完全自动化。在幕后发生的事情是,Kafka 将添加新服务器作为它正在迁移的分区的追随者,并允许它完全复制该分区中的现有数据。当新服务器完全复制此分区的内容并加入同步副本时,现有副本之一将删除其分区的数据。
- 分区重新分配工具可用于跨broker移动分区。理想的分区分布将确保跨所有broker的均匀数据负载和分区大小。分区重新分配工具无法自动研究 Kafka 集群中的数据分布并移动分区以实现均匀的负载分布。因此,管理员必须弄清楚应该移动哪些主题或分区。
二、分区重新分配工具三种工作模式
分区重新分配工具可以在 3 种互斥模式下运行:
- –generate:在此模式下,给定主题列表和代理列表,该工具会生成候选重新分配,以将指定主题的所有分区移动到新代理。此选项仅提供一种方便的方式来生成给定主题和目标代理列表的分区重新分配计划。
- –execute:在此模式下,该工具根据用户提供的重新分配计划开始重新分配分区。 (使用 --reassignment-json-file 选项)。这可以是由管理员手工制作的自定义重新分配计划,也可以是使用 --generate 选项提供的
- –verify:在此模式下,该工具会验证上次 --exe