Kafka一些生产环境常见的问题

这篇没什么顺序,就是单纯的罗列一下常见的问题和可能遇到的问题,问题之间没有关联,后续有新的问题再补充


1. Kafka消息积压,消费能力不足怎么办:

1. 如果是消费能力不足的话,可以提高对应Topic的分区数,同时提升消费者组(Consumer Group)内消费者的数量,要注意分区数等于消费者组内消费者的数量,否则提高分区没有任何意义
2. 另一种是下游消费间隔较长导致的,这种情况可以提高每次拉取数据的数量,这个时间计算一定要保证(拉取数据条数/处理时间<生产速度),否则就会积压

2. 生产环境Kafka集群的配置

这个问题其实仅供参考,因为硬件配置不同的情况下效率差距还是挺大的

1. 我们生产服务器给Kafka的配置是,CPU是28核心56线程,每个节点五块2T的SSD,五个节点,集群之间带宽是万兆,硬件水平较高所以比较猛
2. 因为集群带宽和IO的问题几乎不会成为瓶颈,所以ISR队列基本上都很稳定,不会频繁进出。同时减少数据落盘的频率

下面是生产环境的server.properties配置

Broker参数配置(server.properties)
1、网络和io操作线程配置优化
# broker处理消息的最大线程数(默认为3)
num.network.threads=57
# broker处理磁盘IO的线程数 
num.io.threads=56

2、log数据文件刷盘策略 
# 每当producer写入10000条消息时,刷数据到磁盘 
log.flush.interval.messages=100000
# 每间隔1秒钟时间,刷数据到磁盘
log.flush.interval.ms=10000

3、日志保留策略配置
# 保留时间
# log.cleaner.delete.retention.ms=
# 保留两天
log.retention.hours=48

4、Replica相关配置
offsets.topic.replication.factor:3

 

posted @ 2020-08-07 10:49  wen1995  阅读(794)  评论(0编辑  收藏  举报