`
wangzjie
  • 浏览: 75005 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java调用Hbase

阅读更多

遇到的问题

1、java调用hbase时(hbase0.96)报以下错误:
Exception in thread "main" java.io.IOException: java.lang.reflect.InvocationTargetException
	at org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:383)
	at org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:360)
	at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:244)
	at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:187)
	at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:149)
	at Test.add(Test.java:46)
	at Test.main(Test.java:34)
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:381)
	... 6 more
Caused by: java.lang.VerifyError: class org.apache.hadoop.hbase.protobuf.generated.ClusterIdProtos$ClusterId overrides final method getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet;
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
	at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
	at org.apache.hadoop.hbase.ClusterId.parseFrom(ClusterId.java:66)
	at org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:69)
	at org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:83)
	at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.retrieveClusterId(HConnectionManager.java:794)
	at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:627)
	... 11 more
原因是protobuf的版本不一致造成的。之前使用的是hbase0.94.12的包,在我的测试工程里有了protobuf-java-2.4.jar,而改到hbase0.96后,Hbase0.96依赖的是protobuf-java-2.5.jar。修改后就可以正常跑了。
分享到:
评论

相关推荐

    java调用hbase实现数据库的增删改查

    java调用hbase数据库,完成对hbase常用api的封装和对hbase数据库的增删改查等操作,经测试绝对可用。

    java-hbase开发包

    Java-HBase 开发包是专为Java开发者设计的,用于与HBase数据库进行交互的工具集。HBase是一个分布式、可扩展的列式存储系统,是Apache Hadoop生态系统的一部分,适用于处理大规模数据。这个开发包使得Java程序员可以...

    Java操作Hbase进行建表、删表以及对数据进行增删改查

    要使用 Java 操作 Hbase,首先需要搭建环境。新建一个 Java 项目,然后添加相关的 jar 包,包括 hadoop-core-0.20.204.0.jar、hbase-0.90.4.jar、hbase-0.90.4-tests.jar 以及 Hbase 资源包中 lib 目录下的所有 jar ...

    hbase 的java代码 集合 hbase 0.96

    1. **连接HBase**:在Java代码中,我们使用`HBaseConfiguration.create()`来创建一个配置对象,然后可以设置各种配置参数,如Zookeeper的地址(`HBASE_ZOOKEEPER_QUORUM`),端口(`HBASE_ZOOKEEPER_CLIENT_PORT`)...

    封装hbase以便java调用

    标题“封装HBase以便Java调用”涉及到的主要知识点是关于如何在Java应用程序中与HBase进行交互,HBase是一个分布式的、面向列的开源数据库,常用于大数据存储。在这个过程中,通常会创建一个封装层来简化API的使用,...

    java连接hbase的jar包

    Java连接HBase主要依赖于Apache ...理解HBase的数据模型(行、列族、列限定符和时间戳)以及HBase的API用法,对于高效地使用HBase至关重要。同时,熟悉ZooKeeper的角色和Hadoop的原理也会对理解和解决问题有所帮助。

    java链接hbase数据示例代码

    本示例代码主要展示了如何使用Java API连接HBase数据库,并执行基本的CRUD(创建、读取、更新、删除)操作,同时也包括了批量操作的支持。下面我们将详细探讨这些知识点。 首先,连接HBase需要引入HBase的客户端库...

    HBase基本操作 Java代码

    HBase基本操作 增删改查 java代码 要使用须导入对应的jar包

    java操作Hbase之从Hbase中读取数据写入hdfs中源码

    在Java中操作HBase,我们需要使用HBase的Java客户端API。首先,确保引入了所有必要的jar包,这些包通常包括hbase-client、hbase-common、hadoop-client等。这些依赖可以使用Maven或Gradle等构建工具管理,或者直接在...

    java使用hbase-1.2版本需要的最小的jar包

    java客户端连接hbase所需要的最少的jar包集合,这个我用的hbase1.2.1的,大家用的版本可能是有稍许的差别(但是这个jar包应该可以用),不过所需要的包名是一样的,只是版本不一样而已,可以根据具体的需要修改为...

    java访问Hbase数据库Demo

    以上就是使用Java访问Hbase的基本操作,这个例子中展示了创建表、插入、查询、删除和修改数据的过程。通过这个Demo,你可以了解Hbase与Java交互的基本步骤,并以此为基础进行更复杂的操作,如批量操作、扫描等。请...

    java代码使用thrift2操作hbase示例

    在本文中,我们将深入探讨如何使用Java通过Thrift2接口操作HBase数据库。HBase是一个分布式、可扩展的大数据存储系统,它构建于Hadoop之上,支持实时读写。Thrift是一个轻量级的框架,用于跨语言服务开发,允许不同...

    java操作Hbase之实现表的创建删除源码

    本教程将详细介绍如何使用Java API来创建和删除HBase表,并针对不使用Maven的初学者提供必要的jar包支持。 首先,你需要在项目中引入HBase的客户端库。由于这里没有使用Maven,你需要手动下载并添加以下jar包到项目...

    java操作Hbase之Hbase专用过滤器PageFilter的使用源代码

    接下来,使用HBase的Table对象执行扫描操作: ```java Table table = connection.getTable(TableName.valueOf("myTable")); ResultScanner scanner = table.getScanner(scan); for (Result result : scanner) { //...

    java访问hbase所需的jar包

    一旦这些依赖正确配置,就可以在Java代码中使用HBase提供的API来执行数据操作了。例如,创建一个HBase连接: ```java Configuration config = HBaseConfiguration.create(); config.set("hbase.zookeeper.quorum", ...

    Hbase JAVA编程开发实验

    Hbase JAVA编程开发实验报告以及代码,1 按照“Hbase应用开发实验1.pdf”中给出的说明,完成相关相关实验及JAVA程序的编写、调试和运行,提交JAVA源程序(AccessObject.java, HBaseTester.java, User.java)及运行...

    Hbase笔记 —— 利用JavaAPI的方式操作Hbase数据库(往hbase的表中批量插入数据).pdf

    首先,为了能够使用HBase的Java API,我们需要在项目中导入相应的依赖。以下是一个Maven项目的示例,导入了HBase客户端库: ```xml &lt;groupId&gt;org.apache.hbase &lt;artifactId&gt;hbase-client &lt;version&gt;1.4.6 ``` ...

    java开发hbase-1.2.1所需的jar包

    12. **测试和性能优化**: 通过单元测试和压力测试来验证代码的正确性和性能,可以使用HBase自带的MiniCluster进行本地测试。此外,了解HBase的Region分裂、Compaction等机制有助于优化数据存储和查询性能。 综上所...

    java操作Hbase之比较过滤器RowFilter的使用源码

    这可以通过调用`org.apache.hadoop.hbase.filter.RowFilter`类的静态方法`create()`完成。例如,我们可以创建一个基于等于操作符的过滤器: ```java import org.apache.hadoop.hbase.filter.CompareFilter; import ...

    hbase java api 访问 查询、分页

    本文将深入探讨如何使用HBase Java API进行数据访问和分页查询。 首先,我们要了解HBase的基本结构,它是由行(Row)、列族(Column Family)、列(Column)和时间戳(Timestamp)组成。在Java API中,我们主要通过...

Global site tag (gtag.js) - Google Analytics