kafka添加副本

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangfei0904306/article/details/83591772

查看指定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会导致集群停止消费

 

展开阅读全文

没有更多推荐了,返回首页