hadoop:Not 能够 运行 mapreduce 作业

hadoop:Not able to run a mapreduce job

我在 java 中制作了 3 个文件,制作了一个 jar 文件并编写了这一行来执行 MapReduce 代码:

hadoop jar /home/xyz/Documents/hadoop-2.7.3/abc1.jar woq.WordCount /test/vocab.txt /test/output3

jar文件名是abc1.jarwoq是包名,WordCount 是 main class 其中为 mapreduce 定义作业 code.When 执行此行,显示以下错误:

Exception in thread "main" java.lang.ClassNotFoundException: woq.WordCount
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:214)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

关于我在执行上述行时缺少的内容有什么建议吗?

grep 命令的输出(在注释中):

   Sun Jan 22 21:04:20 IST 2017 WordCountMapper.class
   Sun Jan 22 21:04:20 IST 2017 WordCountReducer.class
   Sun Jan 22 21:04:20 IST 2017 WordCount.class

来自评论,

class 文件似乎包含 package woq; 行,但没有实际的目录结构。您可以创建父目录 woq 或从文件中删除该行并重新编译它。

如果删除该行,您可以像这样提交作业

hadoop jar /home/xyz/Documents/hadoop-2.7.3/abc1.jar WordCount /test/vocab.txt /test/output3