Encountered problems when prefetch META table解决方法

上一篇 / 下一篇  2012-08-15 14:33:59 / 个人分类:分布式技术学习

运行读hbase表相关的程序抛异常~

2012-08-15 11:00:29,398 WARN org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation: Encountered problems when prefetch META. table: org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=10, exceptions: Wed Aug 15 10:59:50 CST 2012, org.apache.hadoop.hbase.client.HTable$4@175bc6c8,java.io.IOException: java.io.IOException: java.lang.NullPointerException at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:1100) at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:1089) at org.apache.hadoop.hbase.regionserver.HRegionServer.getClosestRowBefore(HRegionServer.java:1814) at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364) at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326) Caused by: java.lang.NullPointerException
可以看出大概是.META.数据引起的问题,而.META.里面保存的是表的元数据信息,因为我们测试集群为了减少文件冗余数,将备份数设为了1,前两天又搞集群,于是猜测可能是某个表的元数据信息出现了问题,用了一个很土的方法,将那个程序用到的表scan 表名 'LIMIT=>1'来验证,果然其中一个表的数据scan不出来,于是重建那个表,bulkload进数据解决了。
 不知道大家还有什么其他方法来看这个表可用不~~


====================================
最近发现hbase hbck 这个命令可以查看region的一些状况,里面会记载哪个范围的region有问题。


TAG:

 

评分:0

我来说两句

Open Toolbar