对已运行的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
相关推荐
Code季风34 分钟前
Redis 缓存:应对缓存雪崩、缓存击穿和缓存穿透
数据库·redis·分布式·后端·缓存·微服务·mybatis
_李白_14 小时前
分布式选举算法:Bully、Raft、ZAB
分布式
lifallen16 小时前
HBase的异步WAL性能优化:RingBuffer的奥秘
大数据·数据库·分布式·算法·性能优化·apache·hbase
真上帝的左手17 小时前
12. 消息队列-RabbitMQ
分布式·rabbitmq
每天的每一天18 小时前
分布式文件系统06-分布式中间件弹性扩容与rebalance重平衡
分布式·中间件
新时代苦力工19 小时前
Redis 分布式Session
数据库·redis·分布式
运维行者_20 小时前
多数据中心运维:别让 “分布式” 变成 “混乱式”
运维·数据库·分布式·测试工具·自动化·负载均衡·故障告警
Code季风21 小时前
Redis 分布式锁深度解析:setnx 命令的核心作用与实现
redis·分布式·微服务
斯普信专业组1 天前
Kafka-exporter采集参数调整方案
分布式·kafka
陌上 烟雨齐1 天前
Kafka数据生产和发送
java·分布式·kafka