flink 写入到es_elasticsearch 结合 flink,kafka 性能调优经验

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 性能调优经验

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值