2012-07-03 6 views
0

Я попытался запустить ./hadoop start-all.sh К сожалению, эта ошибка возникаетHadoop ClassNotFoundException при запуске 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, но это не похоже, исправить эту проблему. Путь, который я установил в hasoop-env.sh, это/usr/local/hadoop/bin`.

Я посмотрел на другие должности с названиями средства моделирования Hadoop: strange ClassNotFoundException

, что считается основным классом. Я попытался изменить путь к/usr/local/hadoop/bin/

ответ

1

Сценарий оболочки. >> start -all.sh должен делать. Вам не нужен хаос. Здесь вы можете найти более подробную информацию. http://hadoop.apache.org/common/docs/r0.19.2/quickstart.html

+0

Вы пробовали с абсолютным путем, как предложил Сандип? Сделайте 'printenv' и посмотрите, есть ли переменная пути в каталоге, который содержит start -all.sh. – FourOfAKind

+0

он работает, но/usr/bin/env не найден – alex

+0

Я не знаю, что произошло, но я не могу даже войти в систему сейчас – alex

1

Просто запустите следующие /path/to/Hadoop/home/bin/start-all.sh В вашем случае /user/local/hadoop/bin/start-all.sh

0

С вы уже находитесь в /hadoop/bin папка. Вы не нужно давать снова ./hadoop start-all.sh

вместо этого просто дать ./start-all.sh

Он не будет бросать какие-либо ошибки, и он будет начать процесс Hadoop.

Смежные вопросы