kafka高可靠性相关配置

南墨2年前技术文章670

为保证高可靠可以通过以下方面进行设置:

1) 物理机器

场景

配置项

配置说明

高可靠高性能

不间断电源

配置,防止服务器异常断电

RAID卡电池

配置,防止服务器异常断电

RAID卡写缓存

开启,提高性能

RAID 1

配置

硬盘写缓存

关闭,提高数据可靠性

2) Kafka和业务系统

参数

说明

unclean.leader.election.enable

false

不允许不在ISR中的副本被选举为Leader

auto.leader.rebalance.enable

false

不使用Leader自动均衡功能。

acks

-1(all)

当producer需要Leader确认消息是否已经接收并认为已经处理完成。该参数会影响消息的可靠性。

Acks=-1(all)需要等待在ISR列表这种的副本都确认接收到消息并处理完成才表示消息成功。

min.insync.replicas

2

当Producer设置acks为-1时,指定需要写入成功的副本的最小数目。

其中min.insync.replicasunclean.leader.election.enableacksTopic级别设置,可以根据不同Topic进行设置。

3) 影响

l  性能降低。

需要所有的ISR列表副本,且满足最小成功的副本数确认写入成功。这样会导致单条消息时延增加,客户端处理能力下降。

从实验室测试场景来看,

时延增加6倍,吞吐量下降70%。具体性能以现场实际测试为准。

l  可用性降低。

Ø  unclean.leader.election.enable

不允许不在ISR中的副本被选举为Leader。如果所有副本都不可用,那么分区将保持不可用,直到最近的Leader再次可用。

例如:

Test-0分区有副本1、2。acks=1,min.insync.replicas=1。

当2处于故障状态,1接收写入。

Topic: test     Partition: 0    Leader: 1       Replicas: 1,2   Isr: 1

当2修复启动后向1进行同步,其不在ISR列表中。

Topic: test     Partition: 0    Leader: 1       Replicas: 1,2   Isr: 1

此时1发生故障,2无法被选为leader,分区无法接受写入和读取。必须等待1修复后才可继续提供服务。

1)      min.insync.replicas、acks

需要所有的ISR列表副本,且满足最小成功的副本数确认写入成功。当Partition的一个Replica所在节点故障时,无法满足最小成功的副本数,那么将会导致业务写入失败。

1.png

例如:

Test-0分区有副本1、2。acks=-1(all),min.insync.replicas=2。

Topic: test     Partition: 0    Leader: 1       Replicas: 1,2   Isr: 1,2

当2处于故障状态,由于不满足min.insync.replicas将会导致写入失败。

Topic: test     Partition: 0    Leader: 1       Replicas: 1,2   Isr: 1

        2.png

 建议:通常情况下,使用ack=1,min.insync.replicas=1就能够满足的业务需求。


相关文章

Hue跑shell脚本报没权限问题

Hue跑shell脚本报没权限问题

1、客户反应运行脚本如下:经过排查服务器上没有workflow用户,尝试用root、admin测试正常 2、调用脚本运行失败1、给予脚本执行权限 chmod +x data-test.sh 2、/u...

如何分析IIS占用CPU资源问题?看看这篇文章吧

如何分析IIS占用CPU资源问题?看看这篇文章吧

ProcDump捕获dump文件1、下载官方下载地址为:https://learn.microsoft.com/en-us/sysinternals/downloads/procdump#introd...

Trino资源组配置

Trino资源组配置

1 概述Presto作为一个大数据场景下的交互式查询引擎,当使用达到一定规模,就会更多考虑资源分配问题,即保障重要任务优先获取资源。Presto资源组: Presto的资源组机制,是从资源分配的角度...

HDP-Yarn开启CPU调度和隔离

HDP-Yarn开启CPU调度和隔离

进入到ambari主界面 点击yarn 点击config CPU Scheduling and Isolation 设置为enable修改高级配置点击ADVANCED搜索需要修改的配yarn.node...

pg_probackup

一、pg_probackup概述pg_probackup 是一款免费的postgres数据库集群备份工具,与其他备份工具相比,它主要有如下一些优势:提供增量备份,增量备份一定程度上可以节省磁盘空间的使...

CDH配置impala自动同步HMS元数据

CDH配置impala自动同步HMS元数据

1、进入CM界面 > Hive > 配置 > 搜索 启用数据库中的存储通知(英文界面搜索:Enable Stored Notifications in Database),并且勾选,...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。