hadoopMap任务/Map对象

9rbhqvlz  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(390)

根据理论,以下属性用于定义数据节点上map/red任务槽的数量。 mapred.tasktracker.map.tasks.maximum | mapred.map.tasks .
此外,mapper对象的数量由mapreduce作业中的输入拆分数量决定。我们实现了map/red功能,框架创建对象并将其发送到最接近数据块的位置。
那么,Map任务槽和框架创建的Map器对象之间有什么区别呢。
假设我跨5个数据节点存储2tb文件,每个节点有400mb。如果我定义 dfs.block.size =100Mb 然后每个节点将容纳400/100=4个数据块。在这里,在4个数据块中,理想情况下,每个节点可以有4个输入拆分和4个Map器对象。同时如果我定义 mapred.tasktracker.map.tasks.maximum = 2 & mapred.map.tasks=2 那么我能从中得出什么结论呢。我可以说4个Map器对象将在2个Map任务槽中共享吗。我可能走错了方向,任何澄清都会有帮助。

e3bfsja2

e3bfsja21#

这个 map slots 确定有多少 map tasks TaskTracker可以运行。这个 map tasks 是由输入拆分决定的,您不能更改它。如果 map tasks 超过 map slots 一些 map tasks 将阻止并运行,直到其他任务完成。

相关问题