运行start-all.sh时出现hadoop ClassNotFoundException

时间:2012-07-03 18:22:49

标签: hadoop classnotfoundexception

我试图运行./hadoop start-all.sh 不幸的是,这个错误被抛出

Exception in thread "main" java.lang.NoClassDefFoundError: start/all/sh
Caused by: java.lang.ClassNotFoundException: start.all.sh
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: start.all.sh. Program will exit.

我虽然可能是hadoop路径,但似乎没有解决问题。我在hadoop-env.sh中设置的路径是/ usr / local / hadoop / bin`。

我查看了其他帖子,其中有类似的标题 Hadoop: strange ClassNotFoundException

什么被认为是主要的课程。我尝试将路径更改为/ usr / local / hadoop / bin /

3 个答案:

答案 0 :(得分:1)

它是一个shell脚本。 >> start-all.sh应该这样做。你不需要hadoop。您可以在这里找到更多信息。 http://hadoop.apache.org/common/docs/r0.19.2/quickstart.html

答案 1 :(得分:1)

运行如下 /path/to/Hadoop/home/bin/start-all.sh 在你的情况下 /user/local/hadoop/bin/start-all.sh

答案 2 :(得分:0)

由于您已经在 / hadoop / bin 文件夹中。您无需再次提供 ./ hadoop start-all.sh

而只是提供 ./ start-all.sh

它不会抛出任何错误,它会启动你的hadoop过程。