欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Kafka 优化参数 unclean.leader.election.enable

发布时间:2024/8/23 编程问答 50 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Kafka 优化参数 unclean.leader.election.enable 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

Kafka 某个节点挂掉,导致整个服务异常,为了保证服务容灾,可对下面几个参数进行调整

 

unclean.leader.election.enable=true min.insync.replicas=1 offsets.topic.replication.factor=3

 

这三个配置什么意思呢? 依次来看一下:

  • unclean.leader.election.enable

 

官方描述:
Indicates whether to enable replicas not in the ISR set to be selected as leader as a last resort, even though doing so may result in data loss。

 

解释:该字段默认值为False。默认情况下leader不能从非ISR的副本列表里选择;因为在非ISR副本列表里选择leader,很有可能会导致部分数据丢失。既然这样,那为什么还要打开这个字段呢?因为在很异常情况下,比如ISR内的副本都不可用了,此时如果该字段设置为False,服务会直接挂掉;如果该字段设为True,即允许从非ISR列表中选择leader,那么服务尽管有可能丢失数据,却依然可以继续使用。所以这个参数必须参考业务特性来决定是否打开。

 

  • min.insync.replicas

 

官方描述:
When a producer sets acks to "all" (or "-1"), min.insync.replicas specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful。

 

解释:该字段默认值为1。上述英文翻译为:表示当在acks=-1时,最少有一个Replica进行确认回执,才确认数据写入成功。这个参数在集群搭建时,为了保证数据的完整性,经常会被改为2。这里改为1的原因是:在只有一个副本在工作 、其他都挂掉的极端情况下,保证客户端能够正常提供服务。如果设置为2,当只有一个副本在工作的时候,就会出现生产端一直生产失败的情况,会影响业务。

 

  • offsets.topic.replication.factor

 

官网描述:
The replication factor for the offsets topic (set higher to ensure availability). Internal topic creation will fail until the cluster size meets this replication factor requirement.

 

解释:该值默认为1。表示kafka的内部topic consumer_offsets副本数。当该副本所在的broker宕机,consumer_offsets只有一份副本,该分区宕机。使用该分区存储消费分组offset位置的消费者均会收到影响,offset无法提交,从而导致生产者可以发送消息但消费者不可用。所以需要设置该字段的值大于1。

 

查阅相关资料:

https://blog.csdn.net/u013256816/article/details/80790185

腾讯云中间件 公众号

 

创作挑战赛新人创作奖励来咯,坚持创作打卡瓜分现金大奖

总结

以上是生活随笔为你收集整理的Kafka 优化参数 unclean.leader.election.enable的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。