码迷,mamicode.com
首页 > 其他好文 > 详细

elasticsearch 结合 flink,kafka 性能调优经验

时间:2020-11-16 14:01:57      阅读:18      评论:0      收藏:0      [点我收藏+]

标签:性能   还需要   img   kafka   多个   提高   http   kibana   索引   

1. 产品的架构是数据采集到 kafka,由 flink 读取,送入ES

2. 这个过程中,涉及: kafka分区数,flink并行度,ES 分区数和副本

3. kafka 分区数决定了后面 flink 的并行度,最好是 kafka 的分区数和 flink 的并行度一致

4. 写入 ES 时,需要先决定是按天建立索引还是按月建立索引,我一般是跨度超过1年的离线数据按月建立索引,跨度不超过一个月的数据按天建立索引;另外还需要考察一天或者一个月中的数据量,如果数据量超过几十亿,分片数最好设的大一点,设置成10个以上,可以加快查询

5. 写入ES时,可以将副本数暂时设置为 0,以提高写入速度,写入完成后,可以将副本数动态修改为 1或者2;

6. 使用 kibana 对 ES 性能进行监控,Kinban 对ES的监控非常完善,足以满足需求;

7. 使用 Kibana 监控如果发现 ES 的 index rate 与理论值相差甚远,就要想办法提高速度,主要有两个办法,分别是针对单个任务的提高速度以及建立多个任务提高速度

  > 单个任务提高速度可以使用并行写入,主要是 kafka 分区数设置的多一些,flink 任务的并行度与kakfa分区数一致,但是这种方法有时候并不能提高速度,因为写入速度还受到其他因素影响,例如写入数据的复杂度,IO等;

  > 如果单个任务不能使 ES 接近理论速度,可以同时跑多个ES写入任务,例如A、B、C三个任务,A任务虽然只有理论值的一半(可能是写入的数据格式比较复杂),但是如果IO没有达到瓶颈,通过通过叠加B、C两个任务来使 ES 接近理论速度;

技术图片

 

elasticsearch 结合 flink,kafka 性能调优经验

标签:性能   还需要   img   kafka   多个   提高   http   kibana   索引   

原文地址:https://www.cnblogs.com/1q94/p/13956395.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!