错误:java.lang.ClassNotFoundException:org.apache.commons.collections4.map.LinkedMap

时间:2016-07-23 16:42:12

标签: hadoop mapreduce

执行命令时出错:

if someInstance.dynamicType === SomeClass.self {

代码如下:

hadoop jar /home/edureka/Desktop/firstnlast.jar FirstandLast hdfs:/FirstnLast/first-last_sample hdfs:/FirstnLastoutput

Mapper类成功执行但reducer失败。它看起来像链接地图中的错误但无法解决此问题。你能帮帮忙吗?

1 个答案:

答案 0 :(得分:0)

你的程序没有在我的本地机器上运行任何错误,我从6行文件中得到了以下输出:

1   customer_id, server_id, code
6   11145456, 1436, 2

只需将commons-collections4-4.1.jar jar复制到HADOOP_HOME/lib :(对于hadoop-2.2.0 lib路径为$HADOOP_HOME/share/hadoop/lib/common

[cloudera@quickstart lib]$ sudo cp /home/cloudera/Desktop/commons-collections4-4.1.jar /usr/lib/hadoop/.
[cloudera@quickstart lib]$ cd
[cloudera@quickstart ~]$ hadoop jar Desktop/Strip.jar so.LinkedMapTest /user/cloudera/result.txt /user/cloudera/LinkedMapTest
....
16/07/24 10:20:33 INFO mapreduce.Job:  map 0% reduce 0%
16/07/24 10:20:40 INFO mapreduce.Job:  map 100% reduce 0%
16/07/24 10:20:49 INFO mapreduce.Job:  map 100% reduce 100%

执行命令

hadoop jar /home/edureka/Desktop/firstnlast.jar FirstandLast hdfs:/FirstnLast/first-last_sample hdfs:/FirstnLastoutput