There is an overlap in the region chain修复

简介: ERROR: (region day_hotstatic,860010-2355010000_20140417_12_entry_00000000321,1400060700465.
ERROR: (region day_hotstatic,860010-2355010000_20140417_12_entry_00000000321,1400060700465.fda3b0aca340570aeb64410c97e3cb73.) Multiple regions have the same startkey: 860010-2355010000_20140417_12_entry_00000000321
ERROR: (region day_hotstatic,860010-2355010000_20140417_12_entry_00000000321,1398674475358.0dc205736ec1e890bd2d37a2e3220acc.) Multiple regions have the same startkey: 860010-2355010000_20140417_12_entry_00000000321
ERROR: (regions day_hotstatic,860010-2355010000_20140417_12_entry_00000000321,1398674475358.0dc205736ec1e890bd2d37a2e3220acc. and day_hotstatic,860010-2368000000_20140413_14_visit_00000001964,1400060700465.a590268ef714ef76779486a62fe837a3.) There is an overlap in the region chain.
14/05/15 15:35:16 WARN util.HBaseFsck: reached end of problem group: 860010-2368010000_20140417_14_exit_00000000390
ERROR: Found inconsistency in table day_hotstatic
14/05/15 15:35:16 WARN util.HBaseFsck: Naming new problem group: 860010-2155000000_201404_4_entry_00000001763
ERROR: (region month_hotstatic,860010-2155000000_201404_4_entry_00000001763,1399568279705.1edc38d93e59257da8f1b3dadf68ac0b.) Multiple regions have the same startkey: 860010-2155000000_201404_4_entry_00000001763
ERROR: (region month_hotstatic,860010-2155000000_201404_4_entry_00000001763,1399958842442.ffdf1bbbbf06c0a4ecfb3a1f67568128.) Multiple regions have the same startkey: 860010-2155000000_201404_4_entry_00000001763
ERROR: (region month_hotstatic,860010-2288000000_201405_5_exit_00000047486,1399568279705.b323293466c60bcda712421657c43d5d.) Multiple regions have the same startkey: 860010-2288000000_201405_5_exit_00000047486
ERROR: (region month_hotstatic,860010-2288000000_201405_5_exit_00000047486,1399958848239.fb5eb32a3d25471b61dded04012de31f.) Multiple regions have the same startkey: 860010-2288000000_201405_5_exit_00000047486
14/05/15 15:35:16 WARN util.HBaseFsck: reached end of problem group: null
ERROR: Found inconsistency in table month_hotstatic



修复方法:找到start_key和end_key相同的几个region,把它们的从hdfs上删除掉。然后用add_table重建meta表(会导致丢失数据) 
    这个过程也是一个hbase的bug产生的,这个bug来自于重启过程。复现问题也很容易,进行以下几步即可复现: 
    1 找到一台正在split的region所在的rs 
    2 kill掉该台rs 
    3 重启整个集群或master进行切换 
    原因分析: 
    当hbase的master在主从切换或者重启的时候,有一个步骤是切换之后的master需要对原来所有的挂掉的regionserver上的region进行processDeadRegion,即重新上线。 
    该过程在0.90.4之前存在一个bug,即会把meta表中所有处在split期间的region也进行处理,虽然region在meta表中处于split状态并不能证明它己经split结束还是正在split(要对split状态进行标记还是很复杂的,因此目前的代码还没有对split状态进行记录,只能通过一些辅助手段,比如检查子region的状态来说明region是否处于split状态),但是万一它己经split结束的话是绝对不应该上线的。因此有可能一个region己经split结束,但它在这个处理过程中又被新起的master上线了,这就导致父子region同时服务了。而父region上线后又有可能继续split,导致状况更加糟糕,同一段数据被两个region服务,等等。 
    正确的处理办法是在重启时检查这些region的子region状态,具体检查方案在hbase-0.90.4中己经给出,可参见HBASE-3946。注意:打上3946的patch以后,还必须要打上3995的patch,否则单元测试无法通过。 

2.另一种修复方法:
So those are the same two regions (region1 in the first error is
region1 in the second error and so on)? If so, it's probably a parent
and a daughter region and somehow (due to a bug, can't tell for sure
what exactly) they were both re-deployed.

To fix, I think you could merge the two regions manually by first
disabling the table, moving the files from one region to the other,deleting the folder / entry in .META. for the former region, and
finally re-enable the table.
目录
相关文章
|
分布式计算 Hadoop Java
CDH性能优化(参数配置)
NameNode中用于处理RPC调用的线程数,即指定NameNode 的服务器线程的数量。NameNode有一个工作线程池用来处理客户端的远程过程调用及集群守护进程的调用,处理程序数量越多意味着要更大的池来处理来自不同DataNode的并发心跳以及客户端并发的元数据操作)。
593 0
|
安全 Shell 开发工具
|
资源调度 分布式计算 Hadoop
YARN Capacity Scheduler容量调度器(超详细解读)
YARN Capacity Scheduler容量调度器(超详细解读)
1801 0
|
消息中间件 负载均衡 Kafka
一文读懂Kafka API:Producer、Consumer和Streams全解析
大家好,今天我们将深入探讨Kafka的三大核心API。通过这篇文章,你将了解如何使用Producer API发布记录流,利用Consumer API订阅和处理数据,以及通过Streams API实现复杂的流处理。一起开启Kafka的探索之旅吧!
489 2
|
存储 JSON 分布式计算
HDFS教程(05)- HDFS磁盘均衡
HDFS教程(05)- HDFS磁盘均衡
521 0
|
Ubuntu Linux
Linux性能分析工具sar篇
Linux性能分析工具sar篇
907 0
|
机器学习/深度学习 传感器 计算机视觉
计算机视觉|视频图像的预处理
计算机视觉|视频图像的预处理
580 0
|
SQL 分布式计算 资源调度
Flink on Yarn编译的Parcels包到CDH集群实录
学习一个东西,个人认为最好的方式是:官网+源码+实践 Flink官网:http://flink.apache.org
799 1
Flink on Yarn编译的Parcels包到CDH集群实录
|
存储 分布式计算 监控
递四方 X Hologres:双11实时物流订单最佳实践
随着业务迅猛增长,递四方也在不断演进背后的实时数仓技术来支撑更丰富的仓储物流场景,让物流从“手工化”逐渐转变为“智能化”
3041 2
递四方 X Hologres:双11实时物流订单最佳实践