【问题标题】:Container allocation code in YARN (Hadoop)YARN (Hadoop) 中的容器分配代码
【发布时间】:2018-06-25 00:25:47
【问题描述】:

我正在尝试修改 YARN 容器分配代码。容器分配是指将容器放置在集群中特定机器上的决定。

我想编写自己的容器分配代码。首先,我使用 YARN 在伪分布式模式下运行 Hadoop。我正在尝试在源代码中找到相关点。到目前为止,使用打印语句,我已经能够查明发生分配的类hadoop-source-code/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/impl/pb/client/ApplicationMasterProtocolPBClientImpl.java#allocate。但是,我无法进一步缩小范围。进一步研究这种方法,我无法打印任何东西。

回顾一下——我想在 Hadoop 源代码中找到我需要编写自己的代码来替换现有容器分配机制的确切点。

【问题讨论】:

    标签: java hadoop hadoop-yarn hadoop2


    【解决方案1】:
    I have not been able to print anything
    

    起初,我认为日志记录是特定于应用程序的,但与资源管理器相关的所有信息都在 log 文件夹下名为 hadoop-{username}-resourcemanager-{username}.log 的日志文件下。我没有使用 print 语句,而是使用LOG.info 进行调试。

    Location of allocation mechanism in hadoop source code
    

    我正在使用 FIFO 调度程序,分配机制位于方法 FifoScheduler#assignContainersOnNode 下,该方法是从 FifoScheduler#assignContainers 调用的,该方法是从 FifoScheduler#nodeUpdate 方法调用的。

    FifoScheduler#handle 方法(more information here),它不断跟踪不同的事件。 NODE_UPDATE 是经常触发的其中之一,因此会在给定节点上分配容器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 2016-05-09
      • 2021-12-19
      相关资源
      最近更新 更多