【hbase】关于HBase报错org.apache.hadoop.hbase.NotServingRegionException的异常分析

关于HBase报错org.apache.hadoop.hbase.NotServingRegionException的异常分析

 

近期和一个朋友交流,他们的业务系统使用HBase做为底层的数据存储。高峰期的时候偶尔出现

org.apache.hadoop.hbase.NotServingRegionException,严重影响了业务系统的正常运行。分析日志后得到这样的错误:

1、刚开始报,org.apache.hadoop.hbase.NotServingRegionException ********,is not online

2、然后报 ,org.apache.hadoop.hbase.NotServingRegionException ***********, is closing

其实这个错误在网上很多的解释,每个说法各不相同。昨夜翻看了下Hbase的源码,在这里给出权威的解答偷笑和解决方案。

当Hbase运行时候,region达到了设置的文件大小后,就要开始分裂了。分裂的过程是:

1)老region开始下线 ,这里就对应了报错日志中的is not online

2)老region分裂

3)老region关闭,这里就对应了报错日志中的 is closing

其实罪魁祸首还是region分裂导致的,那么问题来了,Hbase肯定是要分裂的,如何避免这个问题再次发生呢?

以下给出解决措施,以hbase0.98版本为例:

1、设置按个region的大小为无限大,其实也就是不要region分裂了

2、半夜的时候通过程序来检测每个region的大小,比如20G为一个region文件大小,超过20G了就做分裂

参考:https://blog.csdn.net/hadoop_83425744/article/details/49942695

          https://www.cnblogs.com/panfeng412/archive/2012/11/04/hbase-how-to-resolve-not-serving-region-exception.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值