java - 使用单节点配置运行 Hadoop

标签 java hadoop

我在单节点上使用 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"

你能告诉我如何解决这个问题吗? 我会感谢你的帮助。 问候,

最佳答案

安装了什么hadoop版本?您使用的是发行版附带的示例 jar 吗?错误表明 hadoop 使用的是旧的 MR API,而 jar 使用的是新的 MR API。

关于java - 使用单节点配置运行 Hadoop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21685189/

相关文章:

java - 添加maven依赖问题

hadoop - 为什么我在 Hadoop 2 中有这么多映射器

hadoop - 水槽尾部文件

python - Hadoop MapReduce 如何将字符串参数传递给 Mapper

java - 使用快速数据顺序错误进行mapreduce

java - 如何从 java.lang.Process 适当关闭 std-streams?

java - 如何设置 OSGi 和非 OSGi WAR 以使用外部属性文件

java - Java 中具有多个条件的三元运算符抛出错误

java - 调用 Spring 编写的 Rest URL

hadoop - 在hadoop中链接mapreduce作业