Hadoop的罐子执行失败的类未找到(Hadoop jar execution failing on

2019-10-22 12:25发布

我正在我的Hadoop的工作,它是失败的类未找到。 共4个Java文件。

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

一切都在UNIX上的COM文件夹,我有“包融为一体;” 在所有类别的第一线

这意味着如果你做下面的命令头-5 * Java中,你将看到包融为一体; 在所有4个文件。

LogProcessor的是驱动器类。 所有的文件都在UNIX上“COM”文件夹中。

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)

Answer 1:

首先,你需要写在classpath中你的JAR的路径。 写入.bashrc文件JAR文件的目录路径。

然后,你可以使用下面的命令:

hadoop的罐子目录路径/ yourjarname.jar packagename.mainclassname outputpath



Answer 2:

我正在做的一切是正确的。 不同之处在于它得到了创建didnt类对他们执行权限

所以我做了

CHMOD -R 777 COM /

并再次jar'd它,并用与上述相同的命令运行它和它执行。



文章来源: Hadoop jar execution failing on class not found