关闭

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

2238人阅读 评论(0) 收藏 举报
分类:

近期和一个朋友交流,他们的业务系统使用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了就做分裂

以上思路,具体如何设置百度上很多,后续在本博客也会介绍。



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:10013次
    • 积分:223
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:0篇
    • 译文:0篇
    • 评论:5条
    文章分类
    文章存档
    最新评论