使用Java API 操作Hbase表出现异常:Exception in thread "main" java.lang.NoClassDefFoundError

来源:互联网 发布:js urldecode解码 编辑:程序博客网 时间:2024/05/17 18:48

Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration
at com.ywendeng.hbase.HbseTable.(HbseTable.java:23)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:274)
at org.apache.hadoop.util.RunJar.run(RunJar.java:214)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.HBaseConfiguration
at java.net.URLClassLoader1.run(URLClassLoader.java:366)atjava.net.URLClassLoader1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
… 5 more

原因:是因为Hadoop 找不到Hbase 相关的依赖包

解决方法:在hadoop 的hadoop-env.sh文件的后面添加如下内容(注意:HBase jar包版本需要修改为你自己安装HBase 的jar 版本)

export HADOOP_CLASSPATH="$HADOOP_CLASSPATH:$HBASE_HOME/lib/*"
0 0
原创粉丝点击