2016-01-12 275 views
0

假设有3个从节点和一个复制因子为2的主节点的hadoop集群。进一步假设文件F被分成3个块A,B和C,它们的存储方式如下: 从站1:A,B 从站2:A,C 从站3:B,CHadoop MapReduce负载平衡

另外,假设你踢地图reduce作业来计算F中的字数并且每个块被拆分3倍。

我的问题是如何分布映射器,以便他们优化最大生产力?一种可能性: 从1:3映射器对一个 从工作2:3的制图员可以基于C 从3工作:3映射器第B

但如何Hadoop的避免以下工作? 从1:6映射器(第B 3 A,3) 从属2:空闲 从3:3映射器基于C

回答

0

地图缩小执行是由YARN控制从Hadoop的2开始,其中有将是资源管理器(主)节点管理器(在每个从属)节点管理器会将其服务器上的每个服务器上的内存,CPU等使用情况发送至资源管理器,作为心跳的一部分。

现在,当提交作业时,客户端将与交谈资源管理器并创建应用程序主文件夹。 Application Master将根据群集的使用情况创建,Resource Manager将使用来自节点管理器的信息进行呼叫。

一旦申请硕士是创建它会跟的Namenode让您的输入,并与节点管理器相关了解集群的使用块位置。在空闲群集中,每个从机运行一个映射器以处理相应块的概率很高。但在高度使用的群集中不能保证,一个节点可能处理所有3个块,而其他节点正在做其他一些工作。

默认映射器数量将与相同块数。 mappers的数量由分割大小决定,它等于块大小。您可以重置分割大小以使用更多映射器来处理您的数据。但是,负载平衡将根据群集中的使用情况完成。它可以在A上运行3个映射器,在B上运行3个映射器,在C上或其他任何组合上都不映射映射器。