Hadoop Hbase 0.92.1:如何修复.META。表,;因为它丢失了一些区域信息
我的Hbase版本是0.92.1。 我发现我的reduce工作有如下异常:Hadoop Hbase 0.92.1:如何修复.META。表,;因为它丢失了一些区域信息,hadoop,hbase,Hadoop,Hbase,我的Hbase版本是0.92.1。 我发现我的reduce工作有如下异常: java.io.IOException: HRegionInfo was null or empty in .META., row=keyvalues={single,20150411 hxmyxy2013 REF// 336d5ebc5436534e61d16e63ddfca327 7f92f92e8e693531c12a1dcc773f9ffa,1430298962344.ea72df9a3703e476b9f7e3
java.io.IOException: HRegionInfo was null or empty in .META., row=keyvalues={single,20150411 hxmyxy2013 REF// 336d5ebc5436534e61d16e63ddfca327 7f92f92e8e693531c12a1dcc773f9ffa,1430298962344.ea72df9a3703e476b9f7e3368be47aa2./info:server/1430356486086/Put/vlen=28, single,20150411 hxmyxy2013 REF// 336d5ebc5436534e61d16e63ddfca327 7f92f92e8e693531c12a1dcc773f9ffa,1430298962344.ea72df9a3703e476b9f7e3368be47aa2./info:serverstartcode/1430356486086/Put/vlen=8}
然后我运行命令:hbase hbck
输出57个错误,如:
ERROR: Region hdfs://hadoop01.yupoo-inc.com:9000/hbase/single/fa921b223692d89be274979e1e8f1674 on HDFS, but not listed in META or deployed on any region server
=====
总结:
-根-没关系
Number of regions: 1
Deployed on: hadoop02.yupoo-inc.com,60020,1430643409216
梅塔先生。没关系
Number of regions: 1
Deployed on: hadoop01.yupoo-inc.com,60020,1430643412565
全球是可以的
Number of regions: 1
Deployed on: hadoop03.yupoo-inc.com,60020,1430643409040
Number of regions: 172
Deployed on: hadoop01.yupoo-inc.com,60020,1430643412565 hadoop02.yupoo-inc.com,60020,1430643409216 hadoop03.yupoo-inc.com,60020,1430643409040 hadoop04.yupoo-inc.com,60020,1430643408453 hadoop05.yupoo-inc.com,60020,1430643407996
单身没问题
Number of regions: 2081
Deployed on: hadoop01.yupoo-inc.com,60020,1430643412565 hadoop02.yupoo-inc.com,60020,1430643409216 hadoop03.yupoo-inc.com,60020,1430643409040 hadoop04.yupoo-inc.com,60020,1430643408453 hadoop05.yupoo-inc.com,60020,1430643407996
总结是可以的
Number of regions: 2540
Deployed on: hadoop01.yupoo-inc.com,60020,1430643412565 hadoop02.yupoo-inc.com,60020,1430643409216 hadoop03.yupoo-inc.com,60020,1430643409040 hadoop04.yupoo-inc.com,60020,1430643408453 hadoop05.yupoo-inc.com,60020,1430643407996
总数还可以
Number of regions: 1
Deployed on: hadoop03.yupoo-inc.com,60020,1430643409040
Number of regions: 172
Deployed on: hadoop01.yupoo-inc.com,60020,1430643412565 hadoop02.yupoo-inc.com,60020,1430643409216 hadoop03.yupoo-inc.com,60020,1430643409040 hadoop04.yupoo-inc.com,60020,1430643408453 hadoop05.yupoo-inc.com,60020,1430643407996
URL没问题
Number of regions: 5
Deployed on: hadoop02.yupoo-inc.com,60020,1430643409216 hadoop03.yupoo-inc.com,60020,1430643409040
检测到57个不一致
状态:不一致
=====
似乎某些regioninfo不在meta表中,所以我询问google,找到了类似hbase hbck-repair
或-fixMeta-fixAssignments
或-repairHoles
但是我的hbase版本没有这个命令,我运行命令hbase hbck--help
,它输出:
未知的命令行选项:-帮助
用法:fsck[opts]
其中[opt]是:
-详细信息显示所有区域的完整报告
-timelag{timeInSeconds}仅处理尚未处理的区域
在最近{timeInSeconds}秒内经历了任何元数据更新
-修复尝试修复一些错误
-sleepBeforeRerun{timeInSeconds}在使用-fix运行时检查修复程序是否工作之前,请先睡眠几秒钟
-摘要仅打印表和状态的摘要
-metaonly仅检查根表和元表的状态
但是当我运行
hbase hbck-fix时,它什么也不做,所以有人能帮我解决这个问题吗?
我自己解决这个问题
我发现reduce任务失败,出现以下异常:
java.io.IOException:hregoninfo在.META.,row=keyvalues中为null或为空={single,20150411 hxmyxy2013参考号//336D5EBC5436534E61D16E63DFCA327 F92F92E693531C12A1DCC773F9FFA,1430298962344.ea72df9a3703e476b9f7e3368be47aa2./信息:server/1430356486086/Put/vlen=28,single,20150411 hxmyxy2013参考号//336D5EBC5436534E616DFCA327 7F92E6F9312A1DC7F927E677E477CF928E47324tcode/1430356486086/Put/vlen=8}
然后我通过运行以下命令检入Hbase shell:
get'.META',single,20150411 hxmyxy2013参考号//336D5EBC5436534E61D16E63DFCA327 7F92F92E8E69351C12A1DCC773F9FFA,1430298962344。ea72df9a3703e476b9f7e3368be47aa2
哪个输出是:
柱状细胞
信息:服务器时间戳=1430356486086,值=hadoop05.yupoo-inc.com:60020
信息:serverstartcode时间戳=1430356486086,值=1430352791855
0.0080秒内2行
然后我删除此数据,其键为:
单个,20150411 hxmyxy2013参考号//336D5EBC5436534E61D16E63DFCA327 7F92F92E8E69351C12A1DCC773F9FFA,1430298962344.ea72df9a3703e476b9f7e3368be47aa2