我正在运行一个Hadoop流作业,它只有映射器,没有还原器。我给这个作业提供了4个输入文件,这些文件都经过了gzip映射,以确保每个输入文件都指向一个映射器。两个gzip输入文件的大小小于64MB,而另外两个gzIP输入文件的尺寸大于64MB。作业运行了近40分钟的长时间,然后失败,并显示"错误:失败的地图任务数超过了允许的限制。"通常情况下,作业不应超过1分钟,不确定为什么它会持续40分钟
当我检查输出目录时,我看到输出是为两个大小<64 MB,并且不会为大小>64 MB的gzip输入文件生成输出。
有人见过这种行为吗?
当作业启动时,我看到以下消息(如果我将较小大小的文件(<64MB)作为输入传递给作业,我不会看到这一消息)
2006年2月12日10:39:10信息映射。FileInputFormat:要处理的输入路径总数:22006年2月12日10:39:10信息网。NetworkTopology:添加新节点:/10.09.191.0/10.209.191.57:10042006年2月12日10:39:10信息网。NetworkTopology:添加新节点:/10.09.191.0/10.209.191.50:10042006年2月12日10:39:10信息网。NetworkTopology:添加新节点:/10.209.186.0/10.209/186.28:10042006年2月12日10:39:10信息网。NetworkTopology:添加新节点:/10.209.188.0/10.209.188.48:10042006年2月12日10:39:10信息网。NetworkTopology:添加新节点:/10.09.185.0/10.209.185.0:10042006年2月12日10:39:10信息网。NetworkTopology:添加新节点:/10.209.188.0/10.209.1988.35:1004
如果您定义了自己的FileInputFormat派生程序,那么我怀疑您遇到了这个错误:https://issues.apache.org/jira/browse/MAPREDUCE-2094
如果有,我建议您将isSplitable方法的实现从TextInputFormat复制到自己的类中。