Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.NoClassDefFoundError:org/apache/hadoop/hbase/MasterNotRunningException_Java_Classpath_Hadoop_Javac_Hbase - Fatal编程技术网

java.lang.NoClassDefFoundError:org/apache/hadoop/hbase/MasterNotRunningException

java.lang.NoClassDefFoundError:org/apache/hadoop/hbase/MasterNotRunningException,java,classpath,hadoop,javac,hbase,Java,Classpath,Hadoop,Javac,Hbase,我是用自己的HBase java客户端代码创建的,但我在编译和运行它时遇到了很大的困难。我是从命令行编译的,但是我还没有找到任何关于如何进行编译的说明,或者在我的类路径上需要什么JAR 下面是我正在使用的类路径: $HADOOP_HOME/hadoop/hadoop-0.20.2/hadoop-0.20.2-core.jar: $HADOOP_HOME/hbase/hbase-0.90.0/hbase-0.90.0.jar: $HADOOP_HOME/hbase/lib/zookeeper-3.

我是用自己的HBase java客户端代码创建的,但我在编译和运行它时遇到了很大的困难。我是从命令行编译的,但是我还没有找到任何关于如何进行编译的说明,或者在我的类路径上需要什么JAR

下面是我正在使用的类路径:

$HADOOP_HOME/hadoop/hadoop-0.20.2/hadoop-0.20.2-core.jar:
$HADOOP_HOME/hbase/hbase-0.90.0/hbase-0.90.0.jar:
$HADOOP_HOME/hbase/lib/zookeeper-3.3.2.jar
当我运行javac命令时,它编译得很好。但是,当我运行java代码时,会出现以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/MasterNotRunningException
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.MasterNotRunningException
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: HBaseConnection.  Program will exit.  
我错过了什么


谢谢

类org.apache.hadoop.hbase.MasterNotRunning在类路径上不可用。您很可能没有设置包含hadoop jar的类路径。这可以简单到拼写错误(必须扩展$HOME)。

确保本机文件是系统中新生成的

错:

[hduser@mastersbin]$hadoop fs-ls/

16/07/17 15:38:17警告util.NativeCodeLoader:无法为您的平台加载本机hadoop库。。。在适用的情况下使用内置java类

找到5项 drwxr-xr-x-hduser超级组0 2016-07-17 10:57/cm

正确的

[hduser@mastersbin]$hadoop fs-ls/

找到5项

drwxr-xr-x-hduser超级组0 2016-07-17 10:57/cm

在错误的配置中,请按照下面的链接进行构建

对于RHL 6 GLIBC_2.12上的Hadoop 2.7.2,可以使用

要获得完整的hadoop 2.7.2设置,请执行以下操作:

谢谢。是的,我确实将正确的类路径传递给了javac命令,但是由于这些Hadoop文件不在我的全局类路径上,所以当我使用java命令运行java客户机时出现了错误。使用“java-classpath$MYCLASSPATH HBaseConnection”传入类路径就达到了目的。