Yarn源代码分析之旅---NodeManager---Container管理之资源本地化

概述

            ContainerManagerImpl内部包含一个负责资源本地化的服务,它负责Container所需资源的本地化,能够根据描述从HDFS上下载Container所需的文件资源并尽量将他们分摊到各个磁盘上,以防止出现访问热点。此外还会为下载的文件添加访问控制权限,并为之施加何时的磁盘空间使用份额。
           初始化时会生成一个ScheduledThreadPoolExecutor类型的对象cacheCleanup,负责清理工作。

serviceInit

         检查conf的合法性,然后初始化资源跟踪器LocalResourcesTrackerImpl,得到本地资源上线文,设置访问权限,接下来根据LocalDirsHandlerService得到本地目录,然后循环将每个目录下面的UserCache,FileCache以及nmPrivate文件夹改名,加上后缀DEL_时间戳,交给DeletionService去删除它们。
        接着,新建一套全新的,包括UserCache,FileCache以及nmPrivate目录,以及log目录。接着初始化一些变量,包括cache的大小,清理时期,localization的server地址,生成LocalizerTracker服务,添加到服务列表。

serviceStart

          cacheCleanup线程启动,生成LocalizationProtocol RPC服务端,并启动之。

LocalizerTracker

TODO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值