美文网首页
YARN源码解析(5)-MapReduce中,在数据本地节点分配

YARN源码解析(5)-MapReduce中,在数据本地节点分配

作者: AlstonWilliams | 来源:发表于2018-03-07 22:22 被阅读45次

    在前面一篇文章中,我们讲到了ResourceManager,NodeManager以及ApplicationMaster的职责,以及它们的工作流程。

    我们提到了,ApplicationMaster会通过向ResourceManager发送ResourceRequest这个数据结构,来获得Container,然后再联系对应的NodeManager进行Container的启动。

    我们也提到了,ResourceRequest这个数据结构中,包含了一个属性Resource location,这个属性指定了我们期望在哪个节点分配Container。

    没错,正是这里,让MapReduce可以让Task在数据本地节点运行,从而减少集群内部数据的传输,提高性能。

    RMContainerRequestor中,我们可以看到,如下代码:

    其中ContainerRequest中就包含了一个hosts这个字段,这个字段的值,就是对应InputSplit对应的hosts.

    所以,就这样做到了Task在数据本地节点分配。

    相关文章

      网友评论

          本文标题:YARN源码解析(5)-MapReduce中,在数据本地节点分配

          本文链接:https://www.haomeiwen.com/subject/bnbsfftx.html