Hbase是安装在另一台LINUX服务器上的,需要本地通过JAVA连接HBase数据库进行操作。由于是第一次接触HBase,过程当中百度了很多资料,也遇到了很多的问题。耗费了不少时间才成功连接上。特记录下过程当中遇到的问题。
JAVA连接HBase代码如下:
首先通过POM将需要的JAR包导入。如果怕版本不一致,可以将安装HBase的lib里面的jar导入程序当中
?
注意一定要在本地HOSTS文件(C:\Windows\System32\drivers\etc\hosts)配置hbase集群地址? 192.168.8.30 master
问题1:java.io.IOException: HADOOP_HOME or hadoop.home.dir are not set
处理方法:在本地安装一个HADOOP,然后配置环境变量HADOOP_HOME? 尽管是调用的远程的Hadoop下的HBASE,所以这个问题困扰了我好久。
直接在官方网站下载一个安装的包? hadoop-2.7.6.tar.gz 然后直接解压放在E盘下。接着配置环境变量HADOOP_HOME 并添加到Path当中。
上面步骤完成之后启动报错
问题2:java.io.IOException: Could not locate executable E:\hadoop-2.7.6\hadoop-2.7.6\bin\winutils.exe in the Hadoop binaries.
需要下载winutils.exe hadoop.dll等组件放在hadoop安装目录的bin当中。下载地址:https://github.com/srccodes/hadoop-common-2.2.0-bin
虽然是2.2.0的,但是亲测试可用的。下载完毕解压,将里面的bin里面的全部复制,然后拷贝到hadoop安装目录的bin当中,如果有相同的替换掉就是了。
在上述步骤解决后还有一个问题
问题3:The node /hbase is not in ZooKeeper. It should have been written by the master?
configuration.set("zookeeper.znode.parent","/hbase-unsecure") 这行代码被注释掉后,或者zookeeper.znode.parent 的配置信息不是/hbase-unsecure 会报错。
可以在HBase安装目录中的配置文件hbase-site.xml当中查看具体信息
?
参考资料:https://blog.csdn.net/darkdragonking/article/details/72636917
? https://blog.csdn.net/yanhang0610/article/details/77920603
所有评论(0)