对已运行的kafka集群添加副本

在已经运行的kafka集群中(业务主题已创建),如果一开始配置的默认副本是1,则后续再去修改配置文件为3,也只是针对后续新增的主题有效。原先主题不会生效。需要通过json文件去修改。

先创建__consumer_offsets主题的JSON

注意json文件中的"replicas":[2,1,0]这些是集群中的broke,有可能有的broke是1,2,3

新建一个consumer_offsets.json的文件,内容如下

复制代码
{
"version": 1,
"partitions": [
{"topic": "__consumer_offsets","partition": 0,"replicas": [2,1]},
{"topic": "__consumer_offsets","partition": 1,"replicas": [0,2]},
{"topic": "__consumer_offsets","partition": 2,"replicas": [1,0]},
{"topic": "__consumer_offsets","partition": 3,"replicas": [2,1]},
{"topic": "__consumer_offsets","partition": 4,"replicas": [0,2]},
{"topic": "__consumer_offsets","partition": 5,"replicas": [1,0]},
{"topic": "__consumer_offsets","partition": 6,"replicas": [2,1]},
{"topic": "__consumer_offsets","partition": 7,"replicas": [0,2]},
{"topic": "__consumer_offsets","partition": 8,"replicas": [1,0]},
{"topic": "__consumer_offsets","partition": 9,"replicas": [2,1]},
{"topic": "__consumer_offsets","partition": 10,"replicas": [0,2]},
{"topic": "__consumer_offsets","partition": 11,"replicas": [1,0]},
{"topic": "__consumer_offsets","partition": 12,"replicas": [2,1]},
{"topic": "__consumer_offsets","partition": 13,"replicas": [0,2]},
{"topic": "__consumer_offsets","partition": 14,"replicas": [1,0]},
{"topic": "__consumer_offsets","partition": 15,"replicas": [2,1]},
{"topic": "__consumer_offsets","partition": 16,"replicas": [0,2]},
{"topic": "__consumer_offsets","partition": 17,"replicas": [1,0]},
{"topic": "__consumer_offsets","partition": 18,"replicas": [2,1]},
{"topic": "__consumer_offsets","partition": 19,"replicas": [0,2]},
{"topic": "__consumer_offsets","partition": 20,"replicas": [1,0]},
{"topic": "__consumer_offsets","partition": 21,"replicas": [2,1]},
{"topic": "__consumer_offsets","partition": 22,"replicas": [0,2]},
{"topic": "__consumer_offsets","partition": 23,"replicas": [1,0]},
{"topic": "__consumer_offsets","partition": 24,"replicas": [2,1]},
{"topic": "__consumer_offsets","partition": 25,"replicas": [0,2]},
{"topic": "__consumer_offsets","partition": 26,"replicas": [1,0]},
{"topic": "__consumer_offsets","partition": 27,"replicas": [2,1]},
{"topic": "__consumer_offsets","partition": 28,"replicas": [0,2]},
{"topic": "__consumer_offsets","partition": 29,"replicas": [1,0]},
{"topic": "__consumer_offsets","partition": 30,"replicas": [2,1]},
{"topic": "__consumer_offsets","partition": 31,"replicas": [0,2]},
{"topic": "__consumer_offsets","partition": 32,"replicas": [1,0]},
{"topic": "__consumer_offsets","partition": 33,"replicas": [2,1]},
{"topic": "__consumer_offsets","partition": 34,"replicas": [0,2]},
{"topic": "__consumer_offsets","partition": 35,"replicas": [1,0]},
{"topic": "__consumer_offsets","partition": 36,"replicas": [2,1]},
{"topic": "__consumer_offsets","partition": 37,"replicas": [0,2]},
{"topic": "__consumer_offsets","partition": 38,"replicas": [1,0]},
{"topic": "__consumer_offsets","partition": 38,"replicas": [2,1]},
{"topic": "__consumer_offsets","partition": 39,"replicas": [0,2]},
{"topic": "__consumer_offsets","partition": 40,"replicas": [1,0]},
{"topic": "__consumer_offsets","partition": 41,"replicas": [2,1]},
{"topic": "__consumer_offsets","partition": 42,"replicas": [0,2]},
{"topic": "__consumer_offsets","partition": 43,"replicas": [1,0]},
{"topic": "__consumer_offsets","partition": 44,"replicas": [2,1]},
{"topic": "__consumer_offsets","partition": 45,"replicas": [0,2]},
{"topic": "__consumer_offsets","partition": 46,"replicas": [1,0]},
{"topic": "__consumer_offsets","partition": 47,"replicas": [2,1]},
{"topic": "__consumer_offsets","partition": 48,"replicas": [0,2]},
{"topic": "__consumer_offsets","partition": 49,"replicas": [1,0]}
]
}

在任意一个节点上执行(只需在一个节点上执行一次)

bash 复制代码
bin/kafka-reassign-partitions.sh --zookeeper 192.168.1.1:2181 --reassignment-json-file consumer_offsets.json --execute

之后再加业务主题副本,新建一个doorinout.json的文件,内容如下

bash 复制代码
{
"version": 1,
"partitions": [
{"topic": "doorinout","partition": 0,"replicas": [2,1]},
{"topic": "doorinout","partition": 1,"replicas": [0,2]},
{"topic": "doorinout","partition": 2,"replicas": [1,0]},
]
}

在任意一个节点上执行(只需在一个节点上执行一次)

bash 复制代码
bin/kafka-reassign-partitions.sh --zookeeper 192.168.1.1:2181 --reassignment-json-file doorinout.json --execute
相关推荐
少许极端5 小时前
消息队列-RabbitMQ(1)
分布式·消息队列·rabbitmq
若水不如远方6 小时前
分布式一致性(七):架构角度 —— 分布式共识系统的选型指南
分布式·后端
&&月弥7 小时前
三大开源消息队列(Kafka、RabbitMQ、RocketMQ)使用教程
kafka·开源·rabbitmq
Darkdreams7 小时前
分布式监控Skywalking安装及使用教程(保姆级教程)
分布式·skywalking
深蓝电商API17 小时前
分布式事务在跨境交易中的解决方案
分布式·跨境电商·代购系统·反向海淘·代购平台·跨境代购
百锦再17 小时前
Java 并发编程进阶,从线程池、锁、AQS 到并发容器与性能调优全解析
java·开发语言·jvm·spring·kafka·tomcat·maven
我真会写代码21 小时前
从入门到精通:Kafka核心原理与实战避坑指南
分布式·缓存·kafka
黄俊懿1 天前
【架构师从入门到进阶】第二章:系统衡量指标——第一节:伸缩性、扩展性、安全性
分布式·后端·中间件·架构·系统架构·架构设计
一叶飘零_sweeeet1 天前
击穿 Kafka 高可用核心:分区副本、ISR 机制与底层原理全链路拆解
分布式·架构·kafka
007张三丰1 天前
常用缓存技术全方位解析:从本地缓存到分布式缓存
分布式·缓存