第二次实验在hadoop上跑WordCount时,遇到了让人头疼的问题:
java.lang.ClassNotFoundException: Class WordCount$TokenizerMapper not found
操作跟之前一样,而且编译java源文件之后,也确实看到了
WordCount$TokenizerMapper.class
实在不明白是哪里出了问题。
上网查了一下,https://blog.csdn.net/beijihukk/article/details/54315169这篇文章的作者遇到跟我一样的问题,参考了他的解答,发现了错误的原因,但不知道为什么错。
一开始,将.java源文件、编译之后的3个.class文件、打包之后的.jar文件,都放在了同一目录下,在执行
hadoop jar wordcount.jar WordCount /examples/wordcount/input/ /
examples/wordcount/output/
时报错:
java.lang.ClassNotFoundException: Class WordCount$TokenizerMapper not found
后来将.java单拎出来,3个.class和1个.jar放在word_count_class里,再执行就没有问题。input里放的时输入文件。