1. org.apache.Hadoop.hbase.client.ScannerTimeoutException: 60622ms passed since the last invocation, timeout is currently set to
  2. at org.apache.hadoop.hbase.client.HTable$ClientScanner.next(HTable.java:)
  3. at org.apache.hadoop.hbase.mapreduce.TableRecordReaderImpl.nextKeyValue(TableRecordReaderImpl.java:)
  4. at org.apache.hadoop.hbase.mapreduce.TableRecordReader.nextKeyValue(TableRecordReader.java:)
  5. at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:)
  6. at org.apache.hadoop.mapreduce.MapContext.nextKeyValue(MapContext.java:)
  7. at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:)
  8. at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:)
  9. at org.apache.hadoop.mapred.MapTask.run(MapTask.java:)
  10. at org.apache.hadoop.mapred.Child$.run(Child.java:)
  11. at java.security.AccessController.doPrivileged(Native Method)
  12. at javax.security.auth.Subject.doAs(Subject.java:)
  13. at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:)
  14. at org.apache.hadoop.mapred.Child.main(Child.java:)

如在scan hbase的时候见到如上报错,核心是,你某两次scan的触发的间隔时间过长。因此就得从两个部分寻找原因:

1. 是否你自己每次的scan处理较耗时? ->  优化处理程序,scan一些设置调优(比如setBlockCache(false) )

2. 是否每次scan的caching设置过大?  ->  减少caching (一般默认先设100)

3. 是否是网络或机器负载问题?    ->  联系运维跟进查看集群原因

4. 是否HBase本身负载问题?     ->   查看RegionServer日志

一般以上四个问题都解决了(或确定目前暂不能解决),才考虑调整hbase的一些配置问题,比如网上提到的 config.setLong(HConstants.HBASE_REGIONSERVER_LEASE_PERIOD_KEY, 120000) , default 60000 。这个值就是异常中的那个currently set的值。

在HBase1.1.2中的源码是:

  this.scannerTimeout = HBaseConfiguration.getInt(conf,
HConstants.HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD,
HConstants.HBASE_REGIONSERVER_LEASE_PERIOD_KEY,
HConstants.DEFAULT_HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD);
HBASE_REGIONSERVER_LEASE_PERIOD_KEY="hbase.regionserver.lease.period" 这个被deprecated掉了,新的用 HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD = "hbase.client.scanner.timeout.period"。
也就是说在这个版本之后应该设置 config.setLong(HConstants.HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD, 120000)

HBase scan 时 异常 ScannerTimeoutException 解决的更多相关文章

  1. sqlserver,执行生成脚本时“引发类型为“System.OutOfMemoryException”的异常”(已解决)

    sqlserver,执行生成脚本时“引发类型为“System.OutOfMemoryException”的异常”(已解决) 出现此错误主要是因为.sql的脚本文件过大(一般都超过100M)造成内存无法 ...

  2. java spring 等启动项目时的异常 或 程序异常的解决思路

    今天搭建ssm项目的时候,因为pagehelper的一个jar包没有导入idea的web项目下的lib目录中,异常报错找不到pagehelper,这个问题在出异常的时候疯狂crash,让人心情十分不舒 ...

  3. 解决spring 事务管理默认不支持SQLException等运行时异常

    公司同事在定位一个bug时,发现spring默认的事务只支持运行时异常的回滚,对于像SQLException这样的非运行时异常,默认的事务机制不能处理,于是找了下解决的办法:    1.在捕获SQLE ...

  4. 执行HBase shell时出现ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet错误解决办法(图文详解)

    不多说,直接上干货! [kfk@bigdata-pro01 bin]$ jps NameNode ResourceManager JournalNode HMaster DataNode HRegio ...

  5. HBase启动时IP地址解析不正确的问题及解决方法

    HBase启动时遇到IP地址解析不正确,连不上Regionserver , 配置文件上写的 192.168.100.28, 错误信息  Problem binding to /202.102.110. ...

  6. HBase Scan Timeout-OutOfOrderScannerNextException

    最近迁移数据时需要执行大Scan,HBase集群经常碰到以下日志: Exception in thread "main" org.apache.hadoop.hbase.DoNot ...

  7. Hbase meta 表异常修复

    Hbase meta表异常修复 标签(空格分隔): Hbase 一,Hbase meta元数据表 1.1 背景 线上Hbase 因为在hbase shell中清空 truncate 'table'一张 ...

  8. Tomcat 7.0.3x 启动慢并且遇到StackOverflowError的异常的解决办法

    http://qiuboboy.iteye.com/blog/1853216 使用tomcat 7.0.3x版本的同学可以发现tomcat启动慢了不少,而且还可能遇到如下启动时异常: Unable t ...

  9. SSH乱码和Xshell异常断开解决方法

    一.SSH Secure Shell Client中文乱码的解决方法 这是SSH Secure Shell Client多年未解决的短板,要求客户端和服务器端都要‘UTF-8’编码,我终于知道Wind ...

随机推荐

  1. RocketMQ_问题_启动控制台console报错,connect to <null> failed

    配置如图所示: 问题如图所示: 明明配置了nameserver参数为啥还是connect to null呢? 我的rocketmq部署在CentOS7虚拟机上,原来是没关闭防火墙,执行:systemc ...

  2. nodemon 热更新

    sudo npm i -g nodemon nodemon app.js

  3. javax.websocket.DeploymentException: Multiple Endpoints may not be deployed to the same path [/websocket/{sid}] : existing endpoint was class com.sanyi.qibaobusiness.framework.webSocket.WebSocketServe

    报错: javax.websocket.DeploymentException: Multiple Endpoints may not be deployed to the same path [/w ...

  4. DirectX11 With Windows SDK--12 深度/模板状态、平面镜反射绘制

    前言 深度/模板测试使用的是与后备缓冲区同等分辨率大小的缓冲区,每个元素的一部分连续位用于深度测试,其余的则用作模板测试.两个测试的目的都是为了能够根据深度/模板状态需求的设置来选择需要绘制的像素. ...

  5. [物理学与PDEs]第1章第9节 Darwin 模型 9.2 Maxwell 方程组的一个定解问题

    设 $\Omega$ 为一有界区域, 外部为理想导体 $(\sigma=+\infty)$, 则 $\Omega$ 中电磁场满足 Maxwell 方程组 $$\beex \bea \ve\cfrac{ ...

  6. Linux-Centos 虚拟机安装

    Centos安装方法 第一步:一般只有第一项和第三项有用 其余的没啥卵用 第二步:提示检查镜像完整性,这里我们不要检查  选 skip 继续(之前尝试选择OK,最后安装失败了,也不想找原因了) 第三步 ...

  7. 剑指Offer编程题2——替换空格

    剑指Offer编程题2——替换空格 题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happ ...

  8. having的用法

    转载:http://blog.csdn.net/oathevil/article/details/5521757 where和having: “Where” 是一个约束声明,使用Where来约束来自于 ...

  9. 搬运,B站up主『凉风有性胖次君』日日日日日日日日日日在校园

    这个视频超有毒,简直丧心病狂,我竟无言以对,凉风是有多大的耐性,搜集了这么多元素,哈哈哈~~~赶紧搬运,怕哪天B站都给封了 也就是说世界本来喜欢的是言叶,但是言叶爱上了一直在电车上暗恋她的诚哥,于是世 ...

  10. [Linux]目录x权限对文件操作的影响

    问题 我们常使用linux以下命令 cd 进入目录 ls 列出目录中的文件 或者直接打开目录中的文件 以上操作对于目录权限位的设置来说,是有一定迷惑性的,如表格所示   cd进入该目录 cd进入该目录 ...