Trex-Group / trex-bigdata

11 stars 6 forks source link

[HBase3 homework 尝试通过 Java API 连接 HBase]相关问题 #41

Open Chenxin123008 opened 7 years ago

Chenxin123008 commented 7 years ago

参照手顺 (一)我分别下载了hbase-0.90.0-transactional-20100120.jar,hbase-jdo-0.2.1.jar 并按照第三方包的方式导入到maven中(另外指定了hadoop,hbase包),IDEA编译通过。 ✳️maven 指定下载了commons-beanutils.jar commons-pool-1.5.5.jar

2017-04-10 23 03 02

(二)把生成的jar文件拿到Server中去执行,通过命令:hadoop jar /root/hbase-1.0-SANPSHOT.jar 发现找不到hbase-jdo的相关类,因为服务器端没有hbase-0.90.0-transactional-20100120.jar,hbase-jdo-0.2.1.jar包,手动把包加到自定义目录中去,然后修改.bashrc的ClassPath。 source .bashrc后再执行,发现还是找不到对应包文件,经过跟徐老师请教,把上面包拷贝到/opt/hadoop-2.7.3/share/hadoop/common/lib下问题得到解决,用此方法解决其它不到包的问题(Hbase的包也找不到) (三)当全部包问题解决后再执行又发现找不到方法,想再跟请老师请教一下,自己也看了一下包java文件,暂无头绪,麻烦老师花点时间帮忙解答一下。 root@Hadoop-Server:/opt/hadoop-2.7.3/share/hadoop/common/lib# hadoop jar /root/hbase-1.0-SNAPSHOT.jar HbaseTest 17/04/10 22:52:36 WARN hbase.HBaseConfiguration: instantiating HBaseConfiguration() is deprecated. Please use HBaseConfiguration#create() to construct a plain Configuration Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.hbase.client.tableindexed.IndexedTableAdmin.(Lorg/apache/hadoop/hbase/HBaseConfiguration;)V at com.apache.hadoop.hbase.client.jdo.AbstractHBaseDBO.isTableExist(AbstractHBaseDBO.java:80) at com.apache.hadoop.hbase.client.jdo.AbstractHBaseDBO.createTableIfNotExist(AbstractHBaseDBO.java:122) at com.apache.hadoop.hbase.client.jdo.SequenceGenerator.checkSequenceTable(SequenceGenerator.java:38) at com.apache.hadoop.hbase.client.jdo.SequenceGenerator.(SequenceGenerator.java:33) at com.apache.hadoop.hbase.client.jdo.AbstractHBaseDBO.(AbstractHBaseDBO.java:46) at com.apache.hadoop.hbase.client.jdo.AbstractHBaseDBO.(AbstractHBaseDBO.java:39) at com.apache.hadoop.hbase.client.jdo.HBaseDBOImpl.(HBaseDBOImpl.java:15) at HbaseTest.main(HbaseTest.java:26) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.hadoop.util.RunJar.main(RunJar.java:212)

LiuMing5489 commented 7 years ago

17/04/10 22:52:36 WARN hbase.HBaseConfiguration: instantiating HBaseConfiguration() is com.apache.hadoop.hbase.client.jdo.AbstractHBaseDBO.isTableExist(AbstractHBaseDBO.java:80) at

感觉好像是jarfile的版本和代码的版本不匹配,代码比较老?

Chenxin123008 commented 7 years ago

@LiuMing5489 根据老师给的链接,只是要求了HBase的版本在多少以上,其它没有特殊要求。 我考虑也是版本不行。

LiuMing5489 commented 7 years ago

得理解老师的意图。 老师给的只是一个方向,具体问题还得根据实际解决。 问题驱动嘛。哈哈