博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HBase(四):HBase API判断表是否存在,结果问题爆棚。。
阅读量:6818 次
发布时间:2019-06-26

本文共 3731 字,大约阅读时间需要 12 分钟。

  hot3.png

1.首先确认开启了 Hadoop服务--->Zookeeper服务--->HBase服务

hadoop@master:~$ jps4066 HMaster3050 SecondaryNameNode2865 DataNode3693 QuorumPeerMain4224 HRegionServer2743 NameNode3278 ResourceManager4876 Jps

2.好的,接下来创建一个Hadoop工程,先简单学习下HBase API的使用,做个大概了解,结果了,结果一堆包的问题出现来了,因为对抱着想学习一个新的东西,创建一个新的工程让其能够正常运行,大概需要哪些包,就手动导入的包,在此,没有使用Maven对包的依赖管理,。。。

通过小小的几句代码,检测Eclipse中能否连接到以上几个服务,让程序正常运行,比如:

测试某张表是否存在,非常简单的测试,以下是源代码: 

public class HelloHBase {	/**	 * 操作HBase数据:测试某张表是否存在	 * */	public static void main(String[] args) throws MasterNotRunningException, ZooKeeperConnectionException, IOException {		//1.建立连接		Configuration conf = HBaseConfiguration.create(); // 获得配置文件对象 		conf.set("hbase.zookeeper.quorum", "192.168.226.129");		//conf.set("hbase.zookeeper.property.clientPort", "2181");		//获得连接对象		Connection con = ConnectionFactory.createConnection(conf); 		Admin admin = con.getAdmin();				System.out.println(  " @@@@@@@@ " + admin );		TableName tn = TableName.valueOf("userinfo"); //创建表名对象		//判断数据表是否存在。		boolean isExists = admin.tableExists(tn);		System.out.println(  isExists  );	}}

3.刷刷刷..... 碰到一堆包的问题,最后找了半天的包,哎。。。 最终结果包如下:

    

 

4.接下来主要看学习API入门过程中,碰到的主要问题:

4.1.错误: java.lang.NoClassDefFoundError:com/yammer/metrics/core/Gauge。

Caused by:java.io.IOException:com.google.protobuf.ServiceException:   java.lang.NoClassDefFoundError: com/yammer/metrics/core/Gauge	at org.apache.hadoop.hbase.protobuf.ProtobufUtil.getRemoteException(ProtobufUtil.java:331)	at org.apache.hadoop.hbase.client.ScannerCallable.openScanner(ScannerCallable.java:402)	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:203)	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:64)	at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:200)	at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:360)	at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:334)	at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:126)	... 4 more

 然后 在(..\07-HBase\hbase-1.2.1\lib)下(这是我的本地目录)并没有找到相似的包,

于是转至此链接地址:

它会提示你下载 ,比如: Download metrics-core-3.0.0.jar,感觉好像是对了。。

可往下看会发现,如图所示: 

接下来进入此链接:

又会发现如图所示:

于是,在误导又跑进了apache下,把cassandra给下载了下来,结果发现还是没找到我想要的包。...

下载地址:

 

继续百度找资料,进入此链接地址:           

 又会发现:

// 告诉你使用maven搜索,然后下载Downloading the two metrics packages from the maven repository (metrics-core, metrics-annotation) and supplying it on the spark-submit command line worked.

  好吧,结果又把Spark给下载回来了,可失望的是还是在Spark中没找到我想要的包。

Spark下载地址: 。

继续在此文章中找答案,哈哈,

   

跑去把Kafka给下载回来了,终于在其中找到了自己想要的目的包。

下载地址:

 

导入包,问题完美解决。。。。

4.2 错误问题:Caused by: java.net.UnknownHostException: unknown host: master

Caused by: java.net.UnknownHostException: unknown host: master	at org.apache.hadoop.hbase.ipc.RpcClientImpl$Connection.
(RpcClientImpl.java:308) at org.apache.hadoop.hbase.ipc.RpcClientImpl.createConnection(RpcClientImpl.java:138) at org.apache.hadoop.hbase.ipc.RpcClientImpl.getConnection(RpcClientImpl.java:1316) at org.apache.hadoop.hbase.ipc.RpcClientImpl.call(RpcClientImpl.java:1224) at org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:226) at org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:331) at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.scan(ClientProtos.java:34094)

无法识别master,好吧,进入本地系统 (C:\Windows\System32\drivers\etc)目录,即:

修改hosts文件,末尾添加:

192.168.226.129	master

如图下:

解决上述问题后,代码正常运行结果:

admin: org.apache.hadoop.hbase.client.HBaseAdmin@c8be7disExists: true

.....

接下来使用 Maven。。。。 

 

 

转载于:https://my.oschina.net/gently/blog/674953

你可能感兴趣的文章
在Linux合并文件
查看>>
nodejs express-session使用时 req.session undefined问题
查看>>
[工具]iostat
查看>>
php正则表达式匹配函数
查看>>
从零开始学OpenDaylight之五:Hello安装到Controller
查看>>
发送带有附件的邮件
查看>>
MySQL 教程分享
查看>>
s.isdigit、isdecimal和s.isnumeric区别
查看>>
中型公司网络架构拓扑与详解
查看>>
磁盘分区以及解决反序安装操作系统所带来的困扰
查看>>
python3 no module named yaml
查看>>
【Android】 BroadcastReceiver详解
查看>>
Alpha冲刺第7天
查看>>
求弦长或线段长【初级中级高阶辅导】
查看>>
SocketFromServer
查看>>
[吴恩达机器学习笔记]12支持向量机5SVM参数细节
查看>>
Postman的Post请求方式的四种类型的数据
查看>>
Android事件分发机制初探
查看>>
CF1030E Vasya and Good Sequences
查看>>
jzoj5683. 【GDSOI2018模拟4.22】Prime (Min_25筛+拉格朗日插值+主席树)
查看>>