Hadoop MAC OS安装困境

因此,我试图按照本说明中的步骤在Mac OS X Leopard上安装hadoop:在OS X单节点群集上运行Hadoop。

我到达了第4步:格式化并运行Hadoop,我输入了以下内容:

hadoop-*/bin/hadoop namenode -format

这产生了以下令人不快的输出:

Macbook009:~ Hadoop$ hadoop-*/bin/hadoop namenode -format
    Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:676)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:317)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:375)
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:676)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:317)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:375)

我做了一些Google搜索,并了解到JAVA_HOME可能设置不正确。 我创建了一个.bash_profile文件,如下所示:

export JAVA_HOME=/system/Library/Frameworks/JavaVM.framework/Versions/1.6/Home
export HADOOP_HOME=~/Users/Hadoop/hadoop-0.20.203.0

export PATH=$HADOOP_HOME/bin:$PATH

不行。 同样的错误错误。 我究竟做错了什么?


设置JAVA_HOME可能仍然存在问题,因为它可能与Web上的示例不同。 在您的终端中使用此命令来查找您的JAVA_HOME目录/ usr / libexec / java_home


我怀疑实际上运行Hadoop的JVM不是预期的,而是一个较老的(Java 5)。 通过运行ps (或任何Mac等价物)并检查命令行进行验证。

尝试将$HADOOP_HOME/conf/hadoop-env.sh中的JAVA_HOME设置为您在.bash_profile执行的相同路径。


这是在你运行的jre比编译类文件的jre更早时引起的。 例如运行1.6 jre 1.5编译的java。 如果这个类是1.6编译的,那么它将不能用于1.5。

做一个

  java -version

并看看你有哪一个。 很可能你有一个旧的,需要升级它。

链接地址: http://www.djcxy.com/p/38875.html

上一篇: Hadoop MAC OS installation woes

下一篇: Vim: running java from vim command gives error