Hadoop jar 执行失败 class 未找到
Hadoop jar execution failing on class not found
我是 运行 我的 hadoop 作业,它因 class 未找到而失败。总共 4 java 个文件。
logProcessor.java
logMapper.java
logReducer.java
logParser.java
一切都在 unix 上的 com 文件夹中,我在所有 classes
的第一行中有 "package com;"
这意味着如果你执行以下命令
头部-5 *java
你会看见
包com;
在所有 4 个文件中。
logProcessor 是驱动程序 class。所有文件都在 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.run(URLClassLoader.java:366)
at java.net.URLClassLoader.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)
我所做的一切都是对的。除了创建的 类 对它们没有执行权限
所以我做了
chmod -R 777 com/
并再次 jar 并 运行 使用与上面相同的命令并执行。
首先,您需要在类路径中写入您的jar 路径。将 jar 文件的目录路径写入 .bashrc 文件。
然后你可以使用下面的命令:
hadoop jar directorypath/yourjarname.jar packagename.mainclassname 输出路径
我是 运行 我的 hadoop 作业,它因 class 未找到而失败。总共 4 java 个文件。
logProcessor.java
logMapper.java
logReducer.java
logParser.java
一切都在 unix 上的 com 文件夹中,我在所有 classes
的第一行中有 "package com;"这意味着如果你执行以下命令 头部-5 *java 你会看见 包com; 在所有 4 个文件中。
logProcessor 是驱动程序 class。所有文件都在 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.run(URLClassLoader.java:366)
at java.net.URLClassLoader.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)
我所做的一切都是对的。除了创建的 类 对它们没有执行权限
所以我做了
chmod -R 777 com/
并再次 jar 并 运行 使用与上面相同的命令并执行。
首先,您需要在类路径中写入您的jar 路径。将 jar 文件的目录路径写入 .bashrc 文件。
然后你可以使用下面的命令:
hadoop jar directorypath/yourjarname.jar packagename.mainclassname 输出路径