我刚刚写了我的第一份hadoop工作。它处理许多文件并为每个输入文件生成多个输出文件。我在一个双节点集群上运行它,我的最大输入集大约需要10分钟。看看下面的计数器,我可以做些什么来让它运行得更快?是否有任何具体指标应该在这些柜台中寻找 -
版本:2.0.0-mr1-cdh4.1.2
地图任务容量:20
减少任务容量:20
每个节点的平均任务:20
答案 0 :(得分:1)
我们在这里可以看到大多数数据减少发生在地图阶段(地图输出字节数远远少于HDFS读取字节数,地图输入记录相同 - 它比地图输入记录低得多)。我们也看到花了很多CPU时间。我们还看到了较少的混洗字节数
所以这项工作是:
a)在Map阶段完成了大量数据缩减。
b)作业受CPU限制。
所以我认为应该优化mapper和reducer的代码。 I / O可能对这项工作并不重要。