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



我试图运行./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:奇怪的ClassNotFoundException

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

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

只需按如下方式运行/path/to/Hadoop/home/bin/start-all.sh在您的情况下/user/local/hadoop/bin/start-all.sh

因为你已经在 /hadoop/bin 文件夹中了。你不需要再给./hadoop start-all.sh

而是只给 ./start-all.sh

它不会抛出任何错误,它将启动您的Hadoop过程。

最新更新