1、使用WordCount源代码,修改其Map,在Map中使用IKAnalyzer的分词功能。源码参照:
http://www.cnblogs.com/jiejue/archive/2012/12/16/2820788.html
2、打包上传到Hadoop集群,每台机器都上传,上传时包含了所有相关的jar,放到一个目录下
3、按如下两种方式执行都报错
[hadoop@master wordcount]$ /opt/modules/hadoop/hadoop-1.0.3/bin/hadoop jar ChineseWordCount.jar /user/root/hadoop/ /output6
Exception in thread "main" java.lang.ClassNotFoundException: /user/root/hadoop/
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.hadoop.util.RunJar.main(RunJar.java:149)
[hadoop@master wordcount]$ /opt/modules/hadoop/hadoop-1.0.3/bin/hadoop jar ChineseWordCount.jar ChineseWordCount /user/root/hadoop/ /output6
Exception in thread

本文记录了一位开发者在Hadoop集群上执行自编译的WordCount程序时遇到的ClassNotFoundException错误。问题源自Map阶段尝试使用IKAnalyzer进行分词,并在集群中上传并执行了包含相关依赖的jar包。错误的执行命令导致了类找不到的问题,通过指定完整的主类名(org.apache.hadoop.examples.ChineseWordCount)解决了此问题。
最低0.47元/天 解锁文章
1753

被折叠的 条评论
为什么被折叠?



