对已运行的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
相关推荐
城管不管14 小时前
重生——第九次面试2026.8.13某车一面
分布式·ai·面试·职场和发展·rabbitmq
apgk114 小时前
基于Canal实现mysql数据同步到消息队列(RabbitMQ/Kafka)详细操作教程
docker·kafka·rabbitmq
ly768915 小时前
分布式一致性算法详解:从 2PC、3PC 到 Paxos、Raft、ZAB
分布式·算法
珠***格16 小时前
通信链路全打通:西格电力四可装置的 4G/5G + 加密认证技术详解
大数据·数据库·分布式·5g·架构·能源
ACP广源盛1392462567318 小时前
WAIC2026 国产算力浪潮@ACP#YLB3118 在算力矩阵中的存储定位与落地场景
大数据·人工智能·分布式·单片机·嵌入式硬件
蜀道山老天师20 小时前
ZABBIX分布式监控Proxy应用实践
分布式·zabbix
liudashuang201720 小时前
Kafka Producer 隐藏深坑:Sender 线程自阻塞(自死锁)导致 BufferExhaustedException 完整复盘
java·分布式·kafka·linq
rustfs1 天前
GitLab 如何与 RustFS 集成?
分布式·rust·gitlab
Francek Chen1 天前
【大数据处理与分析】数据仓库Hive:02 数据湖
大数据·数据仓库·hive·hadoop·分布式·数据分析
小张同学a.1 天前
ELK企业级日志分析平台3——ES数据备份 & 集群监控 & ELFK+Kafka 架构部署
linux·运维·elk·elasticsearch·架构·kafka·filebeat