Yarn设计原理分析之NodeManager

1、  和其他模块之间的交互接口分析

1)作为client,NodeStatusUpdater通过ResourceTracker协议和RM进行交互。

该API有两个方法

向RM注册NodeManager,参数为httpPort、nodeId、totalResource,其中totalResource为节点的总可分配资源,包括CPU、内存。

向RM心跳,NM启动后通过定期的向RM汇报Container情况,比如处于launched container、已经完成的container、节点的健康信息,并返回领取命令,如kill container。

2)作为服务端,提供ContainerManager服务,通过ContainerManagementProtocol协议为AM提供服务。

该API提供了3个方法

启动containers,参数为StartContainersRequest,也即是StartContainerRequest列表,每个对象是包括启动Container所需要的资源(localResources)、环境变量(environment )、命令(commands)、Token等。

停止containers,参数为StopContainerResult,指定kill的containerId。

获取container状态,参数为GetContainerStatusRequest,指定目标containerId。


2、  几个主要功能类介绍

1)NodeStatusUpdater:周期性的向RM汇报container的状态,包括launched containers、finished containers,返回待clean的Container列表,待clean的Application列表等。

2)ApplicationImpl:NM的应用的状态机宿主对象,管理NM上的该application的所有container;维护一个状态机,记录app的状态之间的迁移和事件,以及事件动作。

3)ContainerImpl:NM的Container的状态机宿主对象,激励container各个状态之间的迁移和事件,以及事件的动作。

4)ContainerManager:提供了RPC服务,启动containers、停止containers、获取container的状态信息;这个类是container管理的启动类。

5)LogHandler:Container的运行日志服务,可以

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值