运行mapreduce实例wordcount时, 出现ClassNotFoundException: org.myorg.WordCount错误解决方法

来源:互联网 发布:python sys.agv 编辑:程序博客网 时间:2024/06/05 15:25

这个错误,网上各有说法,官方的FAQ说的是编译时候要严格按照

$ jar -cvf /usr/joe/wordcount.jar -C wordcount_classes/ .

缺少-C 和 . 号会导致。

但在我机器上,并不存在这一问题,运行

hadoop jar /usr/local/hadoop/wordcount.jar   org.myorg.WordCount   /test/input   /test/output

依然报错。

解决方法如下,首先解压一下你的wordcount.jar ,如我这里是:

[root@master hadoop]# unzip -t wordcount.jar 
Archive:  wordcount.jar
    testing: META-INF/                OK
    testing: META-INF/MANIFEST.MF     OK
    testing: org/                     OK
    testing: org/apache/              OK
    testing: org/apache/hadoop/       OK
    testing: org/apache/hadoop/mapred/   OK
    testing: org/apache/hadoop/mapred/WordCount.class   OK
    testing: org/apache/hadoop/mapred/WordCount$MapClass.class   OK
    testing: org/apache/hadoop/mapred/WordCount$Reduce.class   OK
No errors detected in compressed data of wordcount.jar.

因此org.myorg.WordCount应替换成org.apache.hadoop.mapred.WordCount,如:

hadoop jar /usr/local/hadoop/wordcount.jar   org.apache.hadoop.mapred.WordCount   /test/input   /test/output

就可以成功执行MR

原创粉丝点击