解决某个RegionServer获取行锁失败[HBase1.1.2]
来源:互联网 发布:移动数据被自动关闭 编辑:程序博客网 时间:2024/06/08 17:28
【现象】
某个RegionServer的日志中,发现有以下异常:
2017-12-13 03:19:33,953 WARN [B.fifo.QRpcServer.handler=0,queue=0,port=16020] regionserver.HRegion: Failed getting lock in batch put, row=F680A8D4CF43A6CC66507589B82AC284
java.io.IOException: Timed out waiting for lock for row: F680A8D4CF43A6CC66507589B82AC284
at org.apache.hadoop.hbase.regionserver.HRegion.getRowLockInternal(HRegion.java:5261)
at org.apache.hadoop.hbase.regionserver.HRegion.doMiniBatchMutation(HRegion.java:3066)
at org.apache.hadoop.hbase.regionserver.HRegion.batchMutate(HRegion.java:2933)
at org.apache.hadoop.hbase.regionserver.HRegion.batchMutate(HRegion.java:2875)
at org.apache.hadoop.hbase.regionserver.RSRpcServices.doBatchOp(RSRpcServices.java:715)
at org.apache.hadoop.hbase.regionserver.RSRpcServices.doNonAtomicRegionMutation(RSRpcServices.java:677)
at org.apache.hadoop.hbase.regionserver.RSRpcServices.multi(RSRpcServices.java:2054)
at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32303)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2127)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:107)
at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:133)
at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:108)
at java.lang.Thread.run(Thread.java:745)
【解决】
可以在Ambari UI界面修改hbase组件中的Custom hbase-site,在其中增加自定义配置:
<property>
<name>hbase.rowlock.wait.duration</name>
<value>90000</value>
<description>
# 以毫秒为单位:每次持续等待多久以获取row lock,也就是每次获取行锁的超时时间.默认30秒
</description>
</property>
<property>
<name>hbase.regionserver.lease.period</name>
<value>180000</value>
<description>
# 客户端每次获得RegionServer的socket连接持续多久(ms)
</description>
</property>
<property>
<name>hbase.rpc.timeout</name>
<value>180000</value>
<description>
# 设置rpc多久超时(ms)
</description>
</property>
<property>
<name>hbase.client.scanner.timeout.period</name>
<value>180000</value>
<description>
# 客户端每次scan|get的超时时间(ms)
</description>
</property>
<property>
<name>hbase.client.scanner.caching</name>
<value>50</value>
<description>
# 客户端每次扫描的缓存大小,也即一次next获得的行数(这里是50行),默认一行
# [此项在Ambari上面对应着Number of Fetched Rows when Scanning from Disk]
</description>
</property>
某个RegionServer的日志中,发现有以下异常:
2017-12-13 03:19:33,953 WARN [B.fifo.QRpcServer.handler=0,queue=0,port=16020] regionserver.HRegion: Failed getting lock in batch put, row=F680A8D4CF43A6CC66507589B82AC284
java.io.IOException: Timed out waiting for lock for row: F680A8D4CF43A6CC66507589B82AC284
at org.apache.hadoop.hbase.regionserver.HRegion.getRowLockInternal(HRegion.java:5261)
at org.apache.hadoop.hbase.regionserver.HRegion.doMiniBatchMutation(HRegion.java:3066)
at org.apache.hadoop.hbase.regionserver.HRegion.batchMutate(HRegion.java:2933)
at org.apache.hadoop.hbase.regionserver.HRegion.batchMutate(HRegion.java:2875)
at org.apache.hadoop.hbase.regionserver.RSRpcServices.doBatchOp(RSRpcServices.java:715)
at org.apache.hadoop.hbase.regionserver.RSRpcServices.doNonAtomicRegionMutation(RSRpcServices.java:677)
at org.apache.hadoop.hbase.regionserver.RSRpcServices.multi(RSRpcServices.java:2054)
at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32303)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2127)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:107)
at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:133)
at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:108)
at java.lang.Thread.run(Thread.java:745)
【解决】
可以在Ambari UI界面修改hbase组件中的Custom hbase-site,在其中增加自定义配置:
<property>
<name>hbase.rowlock.wait.duration</name>
<value>90000</value>
<description>
# 以毫秒为单位:每次持续等待多久以获取row lock,也就是每次获取行锁的超时时间.默认30秒
</description>
</property>
<property>
<name>hbase.regionserver.lease.period</name>
<value>180000</value>
<description>
# 客户端每次获得RegionServer的socket连接持续多久(ms)
</description>
</property>
<property>
<name>hbase.rpc.timeout</name>
<value>180000</value>
<description>
# 设置rpc多久超时(ms)
</description>
</property>
<property>
<name>hbase.client.scanner.timeout.period</name>
<value>180000</value>
<description>
# 客户端每次scan|get的超时时间(ms)
</description>
</property>
<property>
<name>hbase.client.scanner.caching</name>
<value>50</value>
<description>
# 客户端每次扫描的缓存大小,也即一次next获得的行数(这里是50行),默认一行
# [此项在Ambari上面对应着Number of Fetched Rows when Scanning from Disk]
</description>
</property>
阅读全文
0 0
- 解决某个RegionServer获取行锁失败[HBase1.1.2]
- 记一次RegionServer节点的宕机事故[hbase1.1.2]
- 启动regionserver失败内存分配不足问题
- Hbase1.1.2创建table
- HBase1.1.2编译
- hbase1.1.2安装
- HBase1.1.2 row lock
- 《解决获取虚拟机所有权失败的方法》
- AngularJS SpringMVC解决post参数获取失败
- 友盟推送deviceToken获取失败解决
- hbase中服务器时间不同步造成的regionserver启动失败
- hbase中服务器时间不同步造成的regionserver启动失败
- hbase 结点之间时间不一致造成regionserver启动失败
- hbase 结点之间时间不一致造成regionserver启动失败
- Hbase1.0伪分布式集群启动失败问题
- 解决xpath定位,获取某个子节点中的某个孩子节点或者文本
- tomcat解决某个文件读取失败(例如:以汉字命名的一张图片)的问题
- Hbase1.1.2 list所有的table
- 函数匹配
- 数据结构实验之排序六:希尔排序
- 红黑树(一)之 原理和算法详细介绍
- thinkphp3.2 隐藏Home模块及index.php入口文件的方法
- 协议编程
- 解决某个RegionServer获取行锁失败[HBase1.1.2]
- 线性代数
- web.xml中<security-constraint>和四种认证类型
- 数据结构实验之排序七:选课名单
- shell脚本篇(1)
- android6.0系统状态栏添加电量百分比
- 利用ab测试工具对Tornado下使用mongodb驱动的性能简单测试分析
- 安卓控件拖动
- . 使用TCP协议编写一个网络程序,设置服务器端的监听端口是8002,当与客户端建立连接后,服务器端向客户端发送数据“Hello, world”,客户端收到数据后打印输出。