实验环境:
kafka.broker 0
topic 名为 first 在 broker0 中
默认分区数 partition=1
扩容
在新的物理机上安装 kafka 程序,修改 config/server.properties 文件里的 broker.id 必须在集群中唯一,修改其他必要的配置项,其中 zookeeper.connect 配置项,写上kafka集群现在使用的zookeeper集群的地址。
然后启动 kafka 就可以加入到集群中了。
但是新加入的机器只能对新产生的 topic 起作用,对已有的 topic 在没有做处理前,是不会承担任何任务的,所以不会分担集群的压力。
重新分区
假设有一个名为 first 的 topic,只有1个 partition,现在由于存储空间不足,需要重新分区。
修改 topic 的 partitions
./bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic first --partitions 3
现在 topic 有3个 partition,但是数据还没有迁移过去
迁移数据
1.生成迁移计划
先手动生成一个 topic.json,内容如下。这里 topic 可以是一个列表,
{
"topics": [
{"topic": "first&#