kafka-新增topic副本数

一. 简述:

在 Kafka 中增加主题(Topic)的副本数可以提高数据的可靠性和容错能力。在创建topic时,如果设置的不合理,或者创建后有新的需求变动,就需要调整了。

二. 方法:

可通过官方的指令:kafka-reassign-partitions.sh

  1. 通过kafka-topics.sh 脚本查看topic信息。

    #./kafka-topics.sh --describe --bootstrap-server kafka-server:9092 --topic xxxx_heart_ping

    Topic: xxxx_heart_ping PartitionCount: 12 ReplicationFactor: 3 Configs: min.insync.replicas=2,message.format.version=2.6-IV0,unclean.leader.election.enable=true
    Topic: xxxx_heart_ping Partition: 0 Leader: 4 Replicas: 4,8 Isr: 4,8
    Topic: xxxx_heart_ping Partition: 1 Leader: 8 Replicas: 8,6 Isr: 8,6
    Topic: xxxx_heart_ping Partition: 2 Leader: 6 Replicas: 6,9 Isr: 9,6

  2. 不动原有的副本配置,新增一个第三副本(json文件方式):

    #cat increase-replication-factor.json
    {"version":1,
    "partitions":[
    {"topic":"xxxx_heart_ping","partition":0,"replicas":[4,8,5]},
    {"topic":"xxxx_heart_ping","partition":1,"replicas":[8,6,7]},
    {"topic":"xxxx_heart_ping","partition":2,"replicas":[6,9,4]},
    ]}

  3. 通过kafka-reassign-partitions.sh 重新分配数据:

    /kafka-reassign-partitions.sh --bootstrap-server kafka-server:9092 --reassignment-json-file increase-replication-factor.json --execute

  4. 可通过--verify查看分配进度:

    /kafka-reassign-partitions.sh --bootstrap-server kafka-server:9092 --reassignment-json-file increase-replication-factor.json --verify


深耕运维行业多年,擅长linux、容器云原生、运维自动化等方面。

承接各类运维环境部署、方案设计/实施、服务代运维工作,欢迎沟通交流!

(V: xiaoxiangbj2013 ) !

相关推荐
汽车仪器仪表相关领域3 小时前
KRYPTON坚固型IP67 EtherCAT总线数据采集模块:工业级分布式采集方案
分布式·功能测试·汽车·压力测试·可用性测试
霸道流氓气质5 小时前
Java中信号量(Semaphore):从本地到分布式
java·开发语言·分布式
naierfengdian7 小时前
分布式风电助力乡村能源转型的技术路径
分布式·能源
霸道流氓气质8 小时前
RedLock:Redis 分布式锁的高可用方案
数据库·redis·分布式
DLYSB_8 小时前
Kafka 消费倾斜死锁与 Partition 掉队:我用 Rust 写了个“数据管道物理哨兵”,比 Grafana 报警快了 18 秒
rust·kafka·grafana·报警灯
hhzz8 小时前
《深度学习框架PyTorch入门与实践》系列:09-分布式与并行训练之DataParallel、DDP与Horovod
pytorch·分布式·深度学习
creator_Li9 小时前
Kafka消费者offset提交
kafka
TDengine (老段)10 小时前
TDengine 第三方工具 — Telegraf、Kafka Connect、Flink、Spark
大数据·数据库·物联网·flink·kafka·时序数据库·tdengine
城管不管1 天前
重生——第九次面试2026.8.13某车一面
分布式·ai·面试·职场和发展·rabbitmq
apgk11 天前
基于Canal实现mysql数据同步到消息队列(RabbitMQ/Kafka)详细操作教程
docker·kafka·rabbitmq