HBase scan超时
来源:互联网 发布:mysql 余数 编辑:程序博客网 时间:2024/05/22 06:26
问题描述:
每天凌晨1:00调用脚本完成HBase增量数据导出到集群外,以做离线分析,脚本调用的是hbase提供的export接口。该程序已连续运行30天,今天突然失败。
分析:查看任务日志,HBase数据导出到HDFS这一步就失败了。
通过YARN查看该export MapReduce job,该job中有83个map task,其中82个已经完成,剩下1个map task一直处在running状态,正常情况下半个小时左右整个程序可以跑完,但是这个map task已经处在running状态。正是这个task导致整个程序挂住。
正常情况下半个小时左右整个程序可以跑完,但是这个map task已经处在running状态。
查看HBase服务状态良好,通过manager查看该task所在regionserver节点状态正常,通过HMaster查看增量导出失败表所在该regionserver的region状态正常,由此基本可以判断HBase服务本身没问题。
通过YARN查看该task日志,发现报错OutOfOrderScannerNextException,判断scan操作读超时,调整客户端参数hbase.client.scanner.caching值由100到50,即一次scan操作返回50行数据,减少了每次scan花费的时间,降低了调用next时超时的可能性。另外,调整客户端配置hbase.rpc.timeout值从60000到600000,增加客户端rpc操作超时容忍时间。
改完以上配置后,手动调用重启程序,顺利执行完成。
为什么前30天程序可以正常运行,但是今天突然出现异常?
个人认为可能有两点原因:
1.scanner挂住的的map task所在的region的数据量较大,导致scan时延大
2.该集群业务量增加或业务高峰导致网络IO负载大,(或者网络本身的问题导致网络IO慢),最终导致一次scan时间较长。
- HBase scan超时
- Hbase scan
- HBase中的Scan操作
- Parallel scan in HBase
- HBase Scan类用法
- Hbase Scan 用法
- HBase Scan类用法
- Hbase 之 scan
- HBase Scan类用法
- hbase scan 类
- HBase Scan类用法
- HBase Scan过程解析
- HBase扫描操作Scan
- Hbase shell scan
- HBase scan的客户端分析
- hbase SCAN操作-ROOT- .META.
- hbase学习记录之scan
- hbase中scan的用法
- Vue.js2.0 入门实例(一)(环境安装)
- guava
- tensorflow加载saver.restore目录报错
- 关于iOS HTML安全的简单策略--上卷
- unity中常见的文件夹以及特殊文件夹命名及意义
- HBase scan超时
- 阿里云服务器部署Windows的php环境
- 用ExportToXls方法导出到Excel就变成这样一团的解决方法
- Makefile,自动搜索源文件并编译
- 【JPA】 级联注解的解释 @Cascade
- (4.6.24)Lambda表达式 in Android
- C语言在VS2017环境下写俄罗斯方块的感悟
- iOS远程通知
- Elasticsearch+Hbase实现海量数据秒回查询