hbase总结:hbase连接异常

versions :  hbase1.1.2+hadopp-2.2.0


一、异常提示: java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.  

分析:出这个错误,是因为win中没有这只HADOOP_HOME,但是win7中怎么会有HADOOP_HOME呢,设置后指向什么位置呢,我的hadoop在服务器端上的啊;

网络上的答案:HADOOP_HOME和JAVA_HOME一样的处理方式 ;把你在linux下的安装包hadoop-common-2.2.0.zip   解压到win下某一目录即可,同时配置好HADOOP_HOME在win上的环境变量即可!!!


二、异常提示:

Exception in thread "main" org.springframework.data.hadoop.hbase.HbaseSystemException: Unable to find region for test,,99999999999999 after 1 tries.; nested exception is org.apache.hadoop.hbase.client.NoServerForRegionException: Unable to find region for test,,99999999999999 after 1 tries.
at org.springframework.data.hadoop.hbase.HbaseUtils.convertHbaseException(HbaseUtils.java:42)
at org.springframework.data.hadoop.hbase.HbaseUtils.getHTable(HbaseUtils.java:82)
at org.springframework.data.hadoop.hbase.HbaseTemplate.getTable(HbaseTemplate.java:78)
at org.springframework.data.hadoop.hbase.HbaseTemplate.execute(HbaseTemplate.java:57)
at org.springframework.data.hadoop.hbase.HbaseTemplate.put(HbaseTemplate.java:199)
at com.dh.policy.box.test.HbaseTest.main(HbaseTest.java:19)
nt.NoServerForRegionException: Unable to find region for test,,99999999999999 after 1 tries.
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:680)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:589)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:558)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:687)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:593)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:558)
at org.apache.hadoop.hbase.client.HTable.(HTable.java:171)
at org.springframework.data.hadoop.hbase.HbaseUtils.getHTable(HbaseUtils.java:76)
... 4 more

首先确保:

其中test是我的Hbase表。
仔细检查了我的Hbase和Hadoop集群都没有问题,经过度娘的提示,我终于明白了,
因为我的host文件只配置了regionServer的hostname,但并没有配置其他region的hostname,所以找不到region
在Hbase伪分布模式下操作的,不会有此问题!
有人说是:(此方法试过,不过没用,还是老样子!)
解决,这个问题是hbase还没有正确连接,最终发现问题是hbase的jar包存在冲突,删除冲突的jar包,测试了下能够正常连接hbase访问数据,再跑程序就可以了。
又有人说:
jps master ,slave etc的node是否正常?
Check logs on RegionServers there should be explanation why you got
NotServingRegionException.

然后对于一个菜鸟来说,这并没有什么用!
后来,我不得不承认我是一只小小的菜鸟:
我把maven依赖改了:()之前我已经测试过的maven依赖,对hbase进行增删改查完全可行
如下:

	
        org.apache.hbase
        hbase-client
        0.96.1.1-hadoop2
     
    
        org.springframework.data
        spring-data-jpa
        1.6.0.RELEASE
    
     
        org.springframework.data
        spring-data-hadoop
        2.0.2.RELEASE
     
	
	    jdk.tools
	    jdk.tools
	    1.7
	    system
	    ${JAVA_HOME}/lib/tools.jar
	
反正结果就正常了,具体原因对于菜鸟我来说是不懂的。希望各位大神能在评论中告知一二。谢谢~



































你可能感兴趣的:(异常总结,hbase)