关闭。这个问题是基于意见的。它目前不接受答案。**想改进这个问题吗?**更新这个问题,这样就可以通过编辑这篇文章用事实和引文来回答。
7年前关门了。改进这个问题我有一些关于hdfs的mapreduce的问题。问题:hdfs的每个节点中的默认工作线程数(map/reduce任务)是多少。在一个节点中并行访问多个块的更好方法是什么?为什么。答。创建多个TaskTracker。b。为每个tasktracker创建多个Worker(Map/减少任务)。提前谢谢
dgenwo3n1#
默认情况下:节点上的插槽数等于核心数(cpu核心数)。在一个插槽上执行一个任务(map任务或reduce任务)。
我认为第二种方法更好——在任务跟踪器上运行多个任务。因为,从性能的Angular 来看,真正重要的不是任务的数量,而是任务节点(即任务跟踪器)和数据节点之间的距离。因此,如果所有任务都在最近的tasktracker上运行,那么性能会更好(不确定hadoop是否可以重用网络连接)。如果是,这将是一个额外的优势)。在这种情况下,如果创建了多个任务跟踪器,其中一些可能会远离数据节点。因此,性能将明显偏低。
1条答案
按热度按时间dgenwo3n1#
1)
默认情况下:节点上的插槽数等于核心数(cpu核心数)。在一个插槽上执行一个任务(map任务或reduce任务)。
2)
我认为第二种方法更好——在任务跟踪器上运行多个任务。因为,从性能的Angular 来看,真正重要的不是任务的数量,而是任务节点(即任务跟踪器)和数据节点之间的距离。因此,如果所有任务都在最近的tasktracker上运行,那么性能会更好(不确定hadoop是否可以重用网络连接)。如果是,这将是一个额外的优势)。在这种情况下,如果创建了多个任务跟踪器,其中一些可能会远离数据节点。因此,性能将明显偏低。