kafka添加副本

本文介绍了如何使用kafka-reassign-partitions.sh工具添加Kafka topic副本,通过执行JSON配置文件完成副本分配,并使用verify参数检查执行状态。强调了Kafka集群至少需要三台broker以保证高可用,以及server.properties中初始副本数应设为3,同时指出__consumer_offsets topic的副本数至少为1以避免影响消费。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查看指定topic信息
./bin/kafka-topics.sh --zookeeper 192.168.1.4:2181 --describe --topic event-track-topic

上传 replication.json 文件到kafka目录下,文件内容:

{
    "version": 1, 
    "partitions": [
        {
            "topic": "event-track-topic", 
            "partition": 0, 
            "replicas": [
                1, 
                2, 
                3
            ]
        },
		{
            "topic": "event-track-topic", 
            "partition": 1, 
            "replicas": [
                2, 
                3, 
                1
            ]
        },
        {
            "topic": "event-track-topic", 
            "partition": 2, 
            "replicas": [
                3, 
                1, 
                2
            ]
        },
		{
            "topic": "event-track-topic", 
            "partition": 3, 
            "replicas": [
                1, 
                2, 
                3
            ]
        },
		{
            "topic": "event-track-topic", 
            "partition": 4, 
            "replicas": [
                2, 
                3, 
                1
            ]
        }
    ]
}

添加副本
./bin/kafka-reassign-partitions.sh --zookeeper 192.168.1.4:2181 --reassignment-json-file replication.json --execute

使用verify参数来检查上面的执行计划是否完成
./bin/kafka-reassign-partitions.sh --zookeeper 192.168.1.4:2181 --reassignment-json-file replication.json --verify

 

再看看结果:

./bin/kafka-topics.sh --zookeeper 192.168.1.4:2181 --describe --topic event-track-topic

 

添加副本就结束了!

但是为什么要添加副本呢,还是在一开始部署的时候没有考虑周全,现在回想,使用kafka有两个点一定要注意:

1. kafka的集群一定要最少三台broker,否则副本都开不了,无法保证高可用。

2. server.properties 初始副本数就调整为3,不然topic创建之后还是要额外调整。

   

3. 消费组信息保存在__consumer_offsets这个topic,要确保它的副本数大于1(最好3以上),不然挂掉一个broker会导致集群停止消费

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值