如何给 Kafka 新增分区
数据量猛增的时候,需要给 kafka 的 topic 新增分区,增大处理的数据量,可以通过以下步骤
1、修改 topic 的分区
kafka-topics --zookeeper hadoop004:2181 --alter --topic flink-test-04 --partitions 3
2、迁移数据
生成迁移计划,手动新建一个 json 文件
{
"topics": [
{
"topic": "flink-test-03"}
],
"version": 1
}
生成迁移计划 kafka-reassign-partitions --zookeeper hadoop004:2181 --topics-to-move-json-file topic.json --broker-list “120,121,122” --generate
Current partition replica assignment:
{
"version":1,"partitions":[{
"topic":"flink-test-02","partition":5,"replicas":[120]},{
"topic":"flink-test-02","partition":0,"replicas":[121]},{
"topic":"flink-test-02","partition":2,"replicas":[120]},{
"topic":"flink-test-02","partition":1,"replicas":[122]},{
"topic":"flink-test-02","partition":4,"replicas":[122]},{
"topic":"flink-test-02","partition":3,"replicas":[121]}]}
新建一个文件reassignment.json,保存上边这些信息
3、迁移
kafka-reassign-partitions --zookeeper hadoop004:2181 --reassignment-json-file reassignment.json --execute
4、验证
kafka-reassign-partitions --zookeeper hadoop004:2181 --reassignment-json-file reassignment.json --verify
