一次spark写入hbase延时问题的排查

本文详细介绍了在业务中遇到Spark写入HBase时出现的延时问题,从排查HBase集群、客户端日志、数据量与并发数、网络连接和GC等多个角度进行分析,最终发现是由于数据随机排列导致的region重定位开销过大。通过数据排序优化,成功解决了延时问题,强调了客户端使用方式对数据库性能的影响。
摘要由CSDN通过智能技术生成

总结一下工作中遇到一次spark写入hbase的超时问题。

业务场景是将kafka等数据源采集上来的用户日志数据经spark汇聚到hbase,然后再读出来供排序、算法评分等业务使用。先前使用时并未出现超时问题,但最近突然就出现了写入超时,下图中是spark任务调度ui页面,可以看出多个写入任务的时延明显增长。



最一开始是怀疑hbase集群出现问题,于是查找各个regionserver上的日志,但并没有发现任何异常。接着查看客户端日志,也没有异常出现。

接着怀疑随着数据写入的增多,region中残留大量的storeFile文件,造成了写延时的增高,于是对表进行了major_compact操作,但效果并不明显,任务重启后依然延时。

那会不会是数据量增多,而并发数没有相应的提高,造成写延时提高呢。基于如上的考虑,我们对表进行了split,将表的region个数扩充到2倍,表的region增多了,实际上提高了表对请求的吞吐量。而后,又提高了spark任务的并发量。我们期待着经过上述的改造,写延时能够得到缓解,但可惜。。。涛声依旧。

继续找吧,接下来我们先后怀疑了机器间网络连接的时延,集群gc等等方面的原因,但最终证明了并非上述原因所导致。

正当我们对问题一筹莫展的时候,我们想到了会不会是业务方的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值