美文网首页
Hbase+Elastic Job架构 线上程序问题:(Asyn

Hbase+Elastic Job架构 线上程序问题:(Asyn

作者: _3d7e | 来源:发表于2020-08-28 10:07 被阅读0次

    问题:

    线上程序在运行一段时间偶尔会报(AsyncRequestFutureImpl.java:1196)- #1, waiting for 148 actions to finish on table: monitor:entry_table

    分析

    1. 首先我们是知道线上环境CDH的配置弱鸡,网络的带宽和稳定性也是一言难尽(网络经常有波动,带宽也小)。
    2. 结合hbase运行日志和图表初步认为报这个的原因是当hbase并发量过高,并且在网络波动时程序对hbase请求超时,同时引发了程序大量资源得不到释放导致了OOM(OOM具体原因还在深入分析)。hbase并发过高是因为Elastic Job设置的所有作业执行时间(core表达式)是都为5分钟,15分钟,20分钟(诸如此类5的倍数)执行时间间隔,由此导致了在整点时会有一次爆发式的hbase请求,当hbase响应不及时的时候程序容易发生OOM。

    解决方法

    1. 减少程序的最大线程数
    2. 修改Elastic Job的作业触发时间间隔无序,尽量使得作业(特别时复杂作业)错开执行

    结果

    修改后程序稳定运行,观察hbase的请求曲线也趋于稳定

    参考

    hbase 错误调用表读方法引发的血案

    相关文章

      网友评论

          本文标题:Hbase+Elastic Job架构 线上程序问题:(Asyn

          本文链接:https://www.haomeiwen.com/subject/adhxsktx.html