我在单节点上使用hadoop。我是hadoop的新人,请耐心等待。 我使用了教程“http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/”和“https://sites.google.com/site/jianpengxu/tutorials/hadoop-setup”来安装hadoop。 命令jps显示hadoop节点已启动并正在运行。
当我尝试运行wordcount(例如)
时"bin/hadoop jar hadoop-0.20.2-examples.jar wordcount gutenberg gutenberg-output"
i got the error message
"14/01/29 14:22:52 INFO input.FileInputFormat: Total input paths to process : 1
14/01/29 14:22:52 INFO mapred.JobClient: Running job: job_201401241441_0013
14/01/29 14:22:53 INFO mapred.JobClient: map 0% reduce 0%
14/01/29 14:23:02 INFO mapred.JobClient: Task Id : attempt_201401241441_0013_m_000000_0, Status : FAILED
java.lang.ClassCastException: org.apache.hadoop.mapreduce.lib.input.FileSplit cannot be cast to org.apache.hadoop.mapred.InputSplit
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:323)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:307)
at org.apache.hadoop.mapred.Child.main(Child.java:170)
14/01/29 14:23:08 INFO mapred.JobClient: Task Id : attempt_201401241441_0013_m_000000_1, Status : FAILED
java.lang.ClassCastException: org.apache.hadoop.mapreduce.lib.input.FileSplit cannot be cast to org.apache.hadoop.mapred.InputSplit
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:323)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:307)
at org.apache.hadoop.mapred.Child.main(Child.java:170)
14/01/29 14:23:14 INFO mapred.JobClient: Task Id : attempt_201401241441_0013_m_000000_2, Status : FAILED
java.lang.ClassCastException: org.apache.hadoop.mapreduce.lib.input.FileSplit cannot be cast to org.apache.hadoop.mapred.InputSplit
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:323)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:307)
at org.apache.hadoop.mapred.Child.main(Child.java:170)
14/01/29 14:23:23 INFO mapred.JobClient: Job complete: job_201401241441_0013
14/01/29 14:23:23 INFO mapred.JobClient: Counters: 3
14/01/29 14:23:23 INFO mapred.JobClient: Job Counters
14/01/29 14:23:23 INFO mapred.JobClient: Launched map tasks=4
14/01/29 14:23:23 INFO mapred.JobClient: Data-local map tasks=4
14/01/29 14:23:23 INFO mapred.JobClient: Failed map tasks=1"
您能否告诉我如何解决这个问题。 我将感谢你的帮助。 的问候,
答案 0 :(得分:1)
安装了什么hadoop版本?您使用的是分发附带的示例jar吗?错误表明hadoop正在使用旧的MR API,而jar正在使用新的MR API。
答案 1 :(得分:1)
在尝试附加示例时,Windows上的Hadoop 2.2.0或2.3.0也经常出现错误java.lang.ClassCastException: org.apache.hadoop.mapreduce.lib.input.FileSplit cannot be cast to org.apache.hadoop.mapred.InputSplit
。
在这种情况下,以管理员权限运行Hadoop 。拥有创建符号链接的权利可能就足够了。使用bin\winutils.exe /?
,您会收到以下提示:
Windows中的默认安全设置不允许非提升 管理员和所有非管理员创建符号 链接。可以在中更改符号链接的安全设置 本地安全策略管理控制台。
如果没有管理员权限,我只能使用本地mapreduce运行示例(在mapred-site.xml
中,将mapreduce.framework.name
设置为local
)。
答案 2 :(得分:0)
我遇到了这个问题。我按照以下步骤操作: