Hadoop Mapreduce的新功能,我不知道为什么会收到此错误。
我目前正在:
Not a valid JAR: /nfsdata/DSCluster/home/user/bli1/wordcount/wc.jar
这是我的过程:
HDFS文件结构:
/bli1
/wordcount
wc.jar
WordCount.java
/input
file01
/output
file02
WordCount.java
wc.jar
和jar cf wc.jar WordCount.java
上创建
file01
和file02
/input
内创建/output
和/wordcount
目录使用hdfs将文件移动到目录
hdfs dfs -moveFromLocal <localsrc> <dst>
运行命令:
hadoop jar /user/bli1/wordcount/wc.jar WordCount / user / bli1 / wordcount / input / user / bli1 / wordcount / output
输出:
Not a valid JAR: /user/bli1/wordcount/wc.jar
我试过这个来制作JAR,但我会收到错误。
$ hadoop com.sun.tools.javac.Main WordCount.java
Error: Could not find or load main class com.sun.tools.javac.Main
如果此过程使JAR与jar cf wc.jar WordCount.java
不同,那么这可能会导致问题。但是我不知道为什么我会得到find or load main class error
答案 0 :(得分:1)
Liondancer,在Java jar文件中,您必须添加已编译的* .class文件,而不是源* .java文件。
此外,一旦解决了问题,我想Hadoop很可能会抱怨输出目录的存在。我的意思是,Hadoop希望自己创建一个输出目录,它必须不存在。