hbase集群 java连接_HBase分布式数据库开发——异常填坑1

本文主要介绍在HBase分布式数据库开发中,如何通过本地Java程序远程操作HBase集群,以及解决因未指定hadoop开发工具包路径导致的异常问题。填坑方案是在程序主方法中添加相应代码。
摘要由CSDN通过智能技术生成

在HBase分布式数据库开发中,为了操作方便,通过在本地执行HBase APP程序,来远程操作HBase分布式集群,如下图:

9affe68b1f8f8c867870d1058fdf2af2.png

基于Client和Server互通,即可在本地完成对HBase分布式集群的测试操作。

问题来了,在执行过程中,很多开发者会遇到如下问题:

2020-05-11 15:44:36,064 ERROR util.Shell (Shell.java:getWinUtilsPath(303)) - Failed to locate the winutils binary in the hadoop binary path
java.io.IOException: Could not locate executable nullbinwinutils.exe in the Hadoop binaries.
	at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:278)
	at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:300)
	at org.apache.hadoop.util.Shell.<clinit>(Shell.java:293)
	at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:76)
	at org.apache.hadoop.conf.Configuration.getStrings(Configuration.java:1514)
	at org.apache.hadoop.hbase.zookeeper.ZKConfig.makeZKProps(ZKConfig.java:113)
	at org.apache.hadoop.hbase.zookeeper.ZKConfig.getZKQuorumServersString(ZKConfig.java:265)
	at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatcher.java:159)
	at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatcher.java:134)
	at org.apache.hadoop.hbase.client.ZooKeeperKeepAliveConnection.<init>(ZooKeeperKeepAliveConnection.java:43)
	at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getKeepAliveZooKeeperWatcher(HConnectionManager.java:1710)
	at org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:82)
	at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.retrieveClusterId(HConnectionManager.java:806)
	at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:633)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:387)
	at org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:366)
	at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:247)
	at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:183)
	at week11.CreateTableDemo.createTable(CreateTableDemo.java:33)

异常错误主要是提示开发者,未在本地(Client端)指定hadoop开发工具包的安装目录。

填坑:在HBase APP程序的主方法第一行输入如下代码即可:

System.setProperty("hadoop.home.dir", "D:/hadoop");  //其中,D:/hadoop 为 hadoop开发工具包的安装目录
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值