Kafka-副本数量设置

1. ISR副本数量设置

指的是存活的副本数量

ISR 机制的另外一个相关参数是 min.insync.replicas , 可以在 broker 或者主题级别进行配置,代表 ISR 列表中至少要有几个可用副本。这里假设设置为 2,那么当可用副本数量小于该值时,就认为整个分区处于不可用状态。此时客户端再向分区写入数据时候就会抛出异常。

java 复制代码
org.apache.kafka.common.errors.NotEnoughReplicasExceptoin: Messages are rejected since there are fewer in-sync replicas than required。

2. 总副本数量设置

指的是一个分区的总的副本数量

2.1 新建主题时指定

Kafka 的主题被分为多个分区 ,分区是 Kafka 最基本的存储单位。每个分区可以有多个副本 (可以在创建主题时使用 replication-factor 参数进行指定)。其中一个副本是首领副本 (Leader replica),所有的事件都直接发送给首领副本;其他副本是跟随者副本 (Follower replica),需要通过复制来保持与首领副本数据一致,当首领副本不可用时,其中一个跟随者副本将成为新首领。

创建副本为2的topic

bash 复制代码
kafka-topics --zookeeper mdw:2181/kafka --create --replication-factor 2 --partitions 3 --topic test_topic

查看topic信息

bash 复制代码
kafka-topics --describe --zookeeper mdw:2181/kafka --topic test_topic

输出:
Topic:test_topic        PartitionCount:3        ReplicationFactor:2     Configs:
        Topic: test_topic       Partition: 0    Leader: 364     Replicas: 364   Isr: 364
        Topic: test_topic       Partition: 1    Leader: 365     Replicas: 365   Isr: 365
        Topic: test_topic       Partition: 2    Leader: 366     Replicas: 366   Isr: 366

2.2 通过配置文件配置

server.properties

bash 复制代码
offsets.topic.replication.factor=2
相关推荐
问道飞鱼1 小时前
【分布式知识】Redis-Shake 容器云部署完整指南
redis·分布式·redis-shake
milanyangbo3 小时前
从硬盘I/O到网络传输:Kafka与RocketMQ读写模型及零拷贝技术深度对比
java·网络·分布式·架构·kafka·rocketmq
GEM的左耳返3 小时前
Java面试实战:从Spring Boot到AI集成的技术深度挑战
spring boot·redis·微服务·kafka·java面试·spring ai·缓存优化
写bug的小屁孩3 小时前
主流消息队列(MQ)和技术选型
kafka·java-rocketmq·java-rabbitmq
有梦想的攻城狮3 小时前
Rabbitmq在死信队列中的队头阻塞问题
分布式·rabbitmq·死信队列·延迟队列
Wang's Blog4 小时前
Elastic Stack梳理:深度解析Elasticsearch分布式查询机制与相关性算分优化实践
分布式·elasticsearch
bxlj_jcj4 小时前
分布式ID方案、雪花算法与时钟回拨问题
分布式·算法
java1234_小锋4 小时前
Kafka与RabbitMQ相比有什么优势?
分布式·kafka·rabbitmq
yumgpkpm4 小时前
腾讯TBDS和CMP(Cloud Data AI Platform,类Cloudera CDP,如华为鲲鹏 ARM 版)比较的缺陷在哪里?
hive·hadoop·elasticsearch·zookeeper·oracle·kafka·hbase
松☆5 小时前
Flutter 与 OpenHarmony 数据持久化协同方案:从 Shared Preferences 到分布式数据管理
分布式·flutter