Kafka大白话(●五●)

目录

🧡生产者调优

🧡Broker调优

🧡消费者调优


💟这里是CS大白话专场,让枯燥的学习变得有趣!

💟没有对象不要怕,我们new一个出来,每天对ta说不尽情话!

💟好记性不如烂键盘,自己总结不如收藏别人!

🧡生产者调优

💌重要参数列表:

参数描述
bootstrap.servers生产者连接集群所需的 Broker 地址清单。例如
hadoop102:9092,hadoop103:9092,hadoop104:9092。
key.serializer &value.serializer  指定发送消息的 key 和 value 的序列化类型
buffer.memory  

RecordAccumulator 缓冲区总大小,默认 32M

可适当调大到 64M。

batch.size

缓冲区一批数据最大值,默认 16K

可适当调大到 32K。

linger.ms 

如果数据迟迟未达到 batch.size,sender 等待 linger.time之后就会发送数据,默认 0ms

生产环境建议 5-100ms 之间。

ackshttp://t.csdn.cn/lKk5F
max.in.flight.requests.per.connection

允许最多没有返回 ack 的次数,默认为 5

开启幂等性要保证该值为 1-5,不开则为 1。

retries重试次数,默认 int最大值,2147483647。一般3次,
如果设置了重试,还想保证消息的有序性,需要设置
max.in.flight.requests.per.connection = 1
retry.backoff.ms 两次重试之间的时间间隔,默认 100ms
enable.idempotence 是否开启幂等性,默认 true
compression.type 生产者发送的所有数据的压缩方式,默认 none
支持压缩类型:none、gzip、snappy、lz4 和 zstd。

🍠提高吞吐量:黑色加粗。

🍠数据可靠:acks = -1。

🍠数据重复:幂等性+事务。

🍠数据有序:单分区内,紫色加粗。

🧡Broker调优

 💌重要参数列表:

参数描述
replica.lag.time.max.msFollower 长时间未向 Leader 发送通信请求或同步数据,则该 Follower 将被踢出ISR
默认 30s
auto.leader.rebalance.enable自动平衡,默认 true建议关闭
leader.imbalance.per.broker.percentage不平衡Leader比率,默认 10%
leader.imbalance.check.interval.seconds检查是否平衡,默认值 300s
log.segment.byteslog日志划分成segment的大小,默认 1G
log.index.interval.bytes默认 4Kb。每写入了 4kb log日志
,往 index文件里记录一个索引
log.retention.hours数据保存的时间,默认 7 天。实际可调整成几个小时
log.retention.minutes 数据保存的时间,分钟级别,默认关闭。
log.retention.ms数据保存的时间,毫秒级别,默认关闭。
log.retention.check.interval.ms检查数据是否保存超时的间隔,默认 5 分钟
log.retention.bytes日志大小阈值,默认 -1,表示无穷大。
log.cleanup.policy默认是 delete,表示所有数据启用删除策略;compact 表示启用压缩策略。
num.io.threads

负责写磁盘的线程数,默认 8

整个参数值要占总核数的 50%。

num.replica.fetchers副本拉取线程数,默认 1。占总核数的 50%的 1/3。
num.network.threads数据传输线程数,默认 3。占总核数的50%的 2/3 。
log.flush.interval.messages 强制页缓存刷写到磁盘的条数,默认 long 的最大值,9223372036854775807。一般不建议修改,交给系统自己管理。
log.flush.interval.ms 每隔多久,刷数据到磁盘,默认 null。一般不建议修改,交给系统自己管理。
auto.create.topics.enable自动创建主题,默认 true建议关闭

🍠数据可靠http://t.csdn.cn/lKk5F

🧡消费者调优

💌重要参数列表:

参数描述
bootstrap.servers  消费者连接集群所需的 Broker 地址清单。
key.deserializer & value.deserializer指定接收消息的 key 和 value 的反序列化类型
group.id标记消费者所属的消费者组
enable.auto.commit自动周期性地向服务器提交offset,默认值 true
auto.commit.interval.ms消费者offset向 Kafka 提交的频率,如果设置了 enable.auto.commit 为 true,则默认 5s
auto.offset.reset

当 Kafka 中没有初始offset或当前offset在服务器中不存在。earliest:自动重置offset到最早的offset。

latest:默认,自动重置offset为最新的offset。

none:如果消费组原来的offset不存在,则向消费者抛异常。 anything:向消费者抛异常。

offsets.topic.num.partitions__consumer_offsets 的分区数,默认 50
heartbeat.interval.ms消费者和 coordinator 之间的心跳时间,默认 3s
必须小于 session.timeout.ms ,也不应该高于
session.timeout.ms 的 1/3。
session.timeout.ms消费者和 coordinator 之间连接超时时间,默认 45s
超过该值,该消费者被移除,消费者组执行再平衡
max.poll.interval.ms 消费者处理消息的最大时长,默认 5 分钟。超过该值,该
消费者被移除,消费者组执行再平衡
fetch.min.bytes消费者获取服务器端一批消息最小的字节数,默认 1 个字节
fetch.max.wait.ms默认 500ms。如果没有从服务器端获取到一批数据的最小字
节数,该时间到,仍然会返回数据。
fetch.max.bytes消费者拉取服务器端一批消息最大的字节数,默认 52428800(50 M)。
max.poll.records一次 poll 拉取数据返回消息的最大条数,默认 500 条
partition.assignment.strategy

分区分配策略,默认 Range+CooperativeSticky

http://t.csdn.cn/RjniG

🍠提高吞吐量:增加分区,黑色加粗,增加下游消费者处理能力。

🍠数据精确一次:事务+手动offset,输出目的地支持事务。

🍠再平衡:紫色加粗。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值