`
844604778
  • 浏览: 548382 次
文章分类
社区版块
存档分类
最新评论

eclipse下使用javaapi连接hbase记录

 
阅读更多

1.hadoop工程已经配置好,把hbase目录放到windows下,用来导入jar包。

2.确保windowshosts文件配置完成,确保java环境配置完成。

3.创建hadoop工程,把hbase下的jar包全部导入工程,不清楚到底需要哪个包,注意,可能你的hbase下的包不全,网上搜索。这里创建一个普通的工程,把hadoopjar包导入工程也可以。

4.新建一个类输入代码如下:(前提是先创建了一个database的表)

packagehbase1;

importjava.io.IOException;

importorg.apache.hadoop.conf.Configuration;

importorg.apache.hadoop.hbase.HBaseConfiguration;

importorg.apache.hadoop.hbase.HColumnDescriptor;

importorg.apache.hadoop.hbase.HTableDescriptor;

importorg.apache.hadoop.hbase.client.HBaseAdmin;

importorg.apache.hadoop.hbase.util.Bytes;

publicclasstest{

publicstaticvoidmain(String[]args)throwsIOException{

Configurationconf=HBaseConfiguration.create();

conf.set("hbase.zookeeper.quorum","testhd2");

HBaseAdminadmin=newHBaseAdmin(conf);

HTableDescriptortableDescriptor=admin.getTableDescriptor(Bytes.toBytes("database"));

byte[]name=tableDescriptor.getName();

System.out.println(newString(name));

HColumnDescriptor[]columnFamilies=tableDescriptor.getColumnFamilies();

for(HColumnDescriptord:columnFamilies){

System.out.println(d.getNameAsString());

System.out.println("12345");

}

}

}

这里注意testhd2zookeeper的服务器,不要连接namenode。应该把所有的zookeeper都写上,‘,’隔开,写一个也可以

5.可能会遇到错误

Exceptioninthread"main"java.lang.NoClassDefFoundError:com/google/protobuf/Message

atorg.apache.hadoop.hbase.io.HbaseObjectWritable.<clinit>(HbaseObjectWritable.java:263)

atorg.apache.hadoop.hbase.ipc.Invocation.write(Invocation.java:139)

atorg.apache.hadoop.hbase.ipc.HBaseClient$Connection.sendParam(HBaseClient.java:638)

atorg.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:1001)

atorg.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:150)

at$Proxy5.getProtocolVersion(UnknownSource)

atorg.apache.hadoop.hbase.ipc.WritableRpcEngine.getProxy(WritableRpcEngine.java:183)

atorg.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:335)

atorg.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:312)

atorg.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:364)

atorg.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:682)

atorg.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:110)

athbase1.test.main(test.java:20)

Causedby:java.lang.ClassNotFoundException:com.google.protobuf.Message

这是因为缺少jar包,是缺少hbase/lib下的protobuf-java-2.4.1.jar包,这里用了个稍微有点差别的版本成功了,最好用对应的版本。有了jar包,导入工程后,成功。

分享到:
评论

相关推荐

    实验三:熟悉常用的HBase操作

    (3)熟悉HBase操作常用的 Java API。 A.3.2 实验平台 (1)操作系统:Linux。 (2)Hadoop 版本:2.7.1或以上版本。(3)HBase版本:1.1.2或以上版本。(4) JDK 版本:1.7或以上版本。(5) Java IDE:Eclipse。

    大数据技术原理及应用课实验3 熟悉常用的HBase操作 林子雨实验

    3. 熟悉HBase操作常用的Java API。 二、实验平台 1. 操作系统:Linux(建议Ubuntu16.04或Ubuntu18.04); 2. Hadoop版本:3.1.3; 3. HBase版本:2.2.2; 4. JDK版本:1.8; 5. Java IDE:Eclipse。 三、实验步骤...

    spark大作业.zip

    使用Spark框架进行网站用户购物分析 目的 1、熟悉Linux系统、MySQL、Spark、HBase、Hive、Sqoop、R、Eclipse、IntelliJ Idea...6、使用HBase Java API把数据从本地导入到HBase中 7、使用R对MySQL中的数据进行可视化分析

    大数据技术开发环境搭建.docx

    HBase JAVA API编程实践 64 安装MySQL 68 Hive安装 70 Redis安装和使用 74 MongoDB安装和使用 83 Neo4j安装和使用 96 安装Spark 103 使用 Spark Shell 编写代码 104 Scala独立应用编程 106 Java独立应用...

    实验二:熟悉常用的HDFS操作

    A.2实验二:熟悉常用的HDFS操作 ...(3)熟悉HDFS操作常用的Java API。 A.2.2 实验平台 (1)操作系统:Linux(建议Ubuntu 16.04)。(2) Hadoop版本:2.7.1。 (3)JDK版本:1.7或以上版本。(4) Java IDE:Eclipse。

    实验四:NoSQL和关系数据库的操作比较

    (3)熟悉4种数据库操作常用的Java API。 A.4.2实验平台 (1)操作系统:Linux(建议Ubuntu 16.04)。(2)Hadoop版本:2.7.1。 (3)MySQL版本:5.7.15。(4)HBase版本:1.1.2。(5)Redis版本:3.0.6。 332 大数据基础编程、实验...

    大数据技术原理与应用实验

    实验七 HDFS Java API编程 69 第三章 分布式协调服务系统ZooKeeper 75 实验八 Zookeeper安装部署 75 实验九 Zookeeper Shell命令使用 79 实验十 Zookeeper Java API编程 82 第四章 分布式离线计算框架MapReduce 85 ...

    大数据技术原理及应用课实验4 NoSQL和关系数据库的操作比较 林子雨实验

    3. 熟悉四种数据库操作常用的Java API。 二、实验平台 1. 操作系统:Linux(建议Ubuntu16.04或Ubuntu18.04); 2. Hadoop版本:3.1.3; 3. MySQL版本:5.6; 4. HBase版本:2.2.2; 5. Redis版本:5.0.5; 6. ...

    2017最新大数据架构师精英课程

    2_java引入ide-eclipse 3_java基础知识-循环-类型转换 4_循环-函数-数组-重载 5_多为数组-冒泡-折半-选择排序 6_oop-封装-继承-static-final-private 7_多态-接口-异常体系 8_适配器/ k% N! Y7 j/ |- c) O5 M' V6 S ...

    java大型项目源码下载-geomesa:GeoMesa是一套以分布式方式处理大地理空间数据的工具

    java大型项目源码下载 GeoMesa 是一个开源工具套件,可在分布式计算系统上实现大规模地理空间查询和分析。 GeoMesa 在 Accumulo、HBase、Google Bigtable 和 Cassandra 数据库之上提供时空索引,用于点、线和多边形...

Global site tag (gtag.js) - Google Analytics