我对有关HDFS的mapreduce有一些疑问。
问题:
HDFS的每个节点中默认的工作人员数量(map / reduce任务)是什么。
在节点中并行访问多个块的更好方法是什么。
一个。创建多个tasktrackers。 湾每个tasktracker创建多个worker(map / reduce task)。
提前致谢
答案 0 :(得分:1)
默认情况下: 节点上的插槽数等于内核数(CPU内核)。 一个任务(无论是Map任务还是Reduce任务)都在一个插槽上执行。
我认为第二种方法更好 - 在任务跟踪器上运行多个任务。 因为从性能的角度来看,真正重要的不是任务计数,而是任务节点(即任务跟踪器)和数据节点之间的距离。因此,如果所有任务都在最近的TaskTracker上运行,那么性能会更好(不确定hadoop是否可以重用网络连接。如果是,它将是一个额外的优势)。如果创建了多个任务跟踪器,其中一些可能远离数据节点。因此,性能显然会很低。