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. 金融量化分析【day112】:均值回归策略

    一.均值回归策略 1.什么是回归策略 二.归一标准化 import numpy as np a = np.random.uniform(100,5000,1000) b = np.random.uni ...

  2. Jenkins-在windows上安装及其部署

    Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.其主要功能:1.持续的软件版本发布/测试项目. ...

  3. deepin 下安装goland中文字体显示全是方块

    下载中文字体 apt-get install ttf-arphic-uming xfonts-intl-chinese 替换goland的汉化包,两个jar包.https://blog.csdn.ne ...

  4. Jasmine

    Jasmine https://www.npmjs.com/package/jasmine The Jasmine Module The jasmine module is a package of ...

  5. 2.7 if应用:猜拳游戏

    应用:猜拳游戏 <1>运行效果: <2>参考代码: import random player = input('请输入:剪刀(0) 石头(1) 布(2):') player = ...

  6. 小程序 TabBar 定制

    使用微信小程序开发时,用到了其 API - tabBar,设置如下(详细的内容可以参考官网 api): "tabBar": { "color": "# ...

  7. 解决-webkit-box-orient: vertical;(文本溢出)属性在webpack打包后无法编译的问题

    在scss里面: /*! autoprefixer: off */-webkit-box-orient: vertical;/* autoprefixer: on */

  8. Javascript arguments.callee和caller的区别

    一.callee 在学习callee之前,需要先学习arguments. arguments: 含义:该对象代表正在执行的函数和调用它的函数的参数. 语法: 1 [function.]argument ...

  9. 一个基于Net 的CMS -- Umbraco CMS

    一个基于Net 的CMS  -- Umbraco CMS:   https://umbraco.com/ Sitecore 和 EPiServer    http://www.bubuko.com/i ...

  10. Java项目使用SQLite数据库后无法启动的问题

    背景: Java > maven 的 jar 项目 功能是记录用户的每天的按键次数 使用 jar2exe 工具将 jar 转为 exe 可执行文件 原本项目中使用的Mysql数据库,使用Myba ...