ITPub博客

首页 > 数据库 > 数据库开发技术 > Kafka在线修改分区数和副本数

Kafka在线修改分区数和副本数

原创 数据库开发技术 作者:DBA修行之路 时间:2021-05-31 21:54:23 0 删除 编辑
 最近在工作中遇到在线修改Kafka副本数的需求,经过查阅资料和实践验证,最终获得成功,在此将方法记录下来,以便日后温习。
先从kafka分区数修改开始吧,具体如下:
第一步;查看topic信息:
示例:
/e3base/kafka/bin/kafka-topics.sh  --zookeeper hbe3base16:11001,hbe3base17:11001,hbe3base19:11001  --topic mkt_event_source_msg_3x   --describe 
如下图:


第二步:修改分区数:
示例:
/e3base/kafka/bin/kafka-topics.sh  --zookeeper hbe3base16:11001,hbe3base17:11001,hbe3base19:11001   -alter --partitions 5 --topic mkt_event_source_msg_3x 
如下图:


第三步;验证:已经修改成功:
如下图:


再来说一下kafka副本数修改吧,具体如下:

第一步;查看topic信息:

示例:

/e3base/kafka/bin/kafka-topics.sh  --zookeeper hbe3base16:11001,hbe3base17:11001,hbe3base19:11001  --topic mkt_event_source_msg_3x   --describe

如图:  


第二步:编辑json文件:
在kafka/bin目录下:建立increase-replication-factor.json文件:
示例:
{"version":1,
"partitions":[
{"topic":"mkt_contact_order_3x","partition":0,"replicas":[1,2,3]},
{"topic":"mkt_contact_order_3x","partition":1,"replicas":[1,2,3]},
{"topic":"mkt_contact_order_3x","partition":2,"replicas":[1,2,3]},
{"topic":"mkt_contact_order_3x","partition":3,"replicas":[1,2,3]},
{"topic":"mkt_contact_order_3x","partition":4,"replicas":[1,2,3]}
]
}  


第三步:
执行命令:
示例:
/e3base/kafka/bin/kafka-reassign-partitions.sh  --zookeeper hbe3base16:11001,hbe3base17:11001,hbe3base19:11001   --reassignment-json-file increase-replication-factor.json --execute



第四步:验证:如下,已成功修改: 


到此,就已经成功实现Kafka在线修改副本数和分区数的需求了。

原文作者:DBA修行之路;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2021-05-25

  • 博文量
    64
  • 访问量
    23946