2015-04-03 2 views
0

Я запускаю свою работу hadoop, и она не работает на классе не найден. Всего 4 файла java.Hadoop jar исполнение не работает по классу не найден

logProcessor.java 
logMapper.java 
logReducer.java 
logParser.java 

Все в папке com на unix, и у меня есть пакет com; в первой строке во всех классах

это означает, что если вы ниже команды голова -5 * Java Вы увидите пакет ком; во всех 4 файлах.

logProcessor - это класс водителя. Все файлы находятся в папке «com» ​​в unix.

ls -ltr com/ 
logProcessor.java 
logMapper.java 
logReducer.java 
logParser.java 

I compiled the java program and made a jar out of it. 

hadoop jar /var/lib/hadoop-hdfs/xxxx/jarFiles/LogParser.jar com.LogProcessor /user/hdfs/flume/2015-03-30/03 /user/xxxx/output_xxx 

Это дает мне ниже ошибки:

Exception in thread "main" java.lang.ClassNotFoundException: com.RFCLogProcessor 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:270) 
    at org.apache.hadoop.util.RunJar.main(RunJar.java:201) 

ответ

0

Все, что я делал, было правильно. Кроме того, что классы, которые получили созданные не имели разрешения на выполнение им

Так что я сделал

CHMOD -R 777 COM/

и jar'd его снова и побежал с тем же вышеуказанной командой и выполняется ,

2

Во-первых, вам нужно написать свой путь jar в пути к классам. напишите путь каталога вашего файла jar в файл .bashrc.

Затем вы можете с помощью следующей команды:

Hadoop баночка DirectoryPath/yourjarname.jar packagename.mainclassname OutputPath

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