我试图运行./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过程。