分享

求教:如何在服务器端执行jar包执行hbase的增删改查操作

aurae 发表于 2015-8-3 17:28:18 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 5 25557
大家好:    本人因开发环境无法连到hbase、zookeeper的环境,所以需要把写好的hbase的crud代码上传到hbase的服务器上执行。
    java代码:现在只是测试hbase怎么用,没有什么高明的代码,就是简单的连接hbase,然后创建一下hbase表。(代码是网上抄的。)
    使用MANIFEST.MF对写好的java代码进行打jar包,文件的内容是:
Manifest-Version: 1.0
Class-Path: /lib/commons-codec-1.9.jar
   /lib/commons-collections-3.2.1.jar
   /lib/commons-configuration-1.6.jar
   /lib/commons-lang-2.6.jar
   /lib/commons-logging-1.2.jar
   /lib/guava-12.0.1.jar
   /lib/hadoop-auth-2.5.1.jar
   /lib/hadoop-common-2.5.1.jar
   /lib/hbase-client-1.1.0.1.jar
   /lib/hbase-common-1.1.0.1.jar
   /lib/hbase-protocol-1.1.0.1.jar
   /lib/htrace-core-3.1.0-incubating.jar
   /lib/jackson-core-asl-1.9.13.jar
   /lib/jackson-mapper-asl-1.9.13.jar
   /lib/junit-4.11.jar
   /lib/log4j-1.2.17.jar
   /lib/netty-3.2.4.Final.jar
   /lib/protobuf-java-2.5.0.jar
   /lib/slf4j-api-1.7.7.jar
   /lib/slf4j-log4j12-1.7.5.jar
   /lib/zookeeper-3.4.6.jar
Main-Class: com.lixin.stuty.hbase.HBaseUtilMain
并把打好的jar包上传,和相应的lib目录的jar文件上传后,运行java -jar hbase.jar,运行报错,提示:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration
        at com.lixin.stuty.hbase.HBaseUtil.<init>(HBaseUtil.java:29)
        at com.lixin.stuty.hbase.HBaseUtilMain.main(HBaseUtilMain.java:11)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.HBaseConfiguration
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 2 more
请帮忙解决,谢谢啦!

已有(5)人评论

跳转到指定楼层
bioger_hit 发表于 2015-8-3 18:11:39
hbase-env.sh,将你的job jar包加入到HBASE_CLASSPATH中去,写法如下:
  export HBASE_CLASSPATH=$HADOOP_HOME/etc/hadoop:/home/hadoop/workspace/HFIleGenerator.jar


然后通过hbase youclass in out来执行job.

回复

使用道具 举报

aurae 发表于 2015-8-6 11:47:54
感谢,我找到我犯的错误了。
MANIFEST.MF文件中jar包的路径应该改为相对路径,把/lib/commons-collections-3.2.1.jar中的第一个/去掉
回复

使用道具 举报

arsenduan 发表于 2015-8-6 13:20:00
回复

使用道具 举报

aurae 发表于 2015-8-6 14:11:43

看着好像是鄙视我呢,

不过,好吧,确实很低级
回复

使用道具 举报

arsenduan 发表于 2015-8-6 17:44:02
aurae 发表于 2015-8-6 14:11
看着好像是鄙视我呢,

不过,好吧,确实很低级

每个人都有自己的困境,从困境中走出来就是高手。无论这个问题是困难还是低级的。反思能力能让一个人趋于完美
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条