您的位置:首页 > 运维架构

研磨Hadoop源码(六)ResourceManager启动分析2

2014-02-26 18:53 471 查看
紧接上一篇/article/1381795.html

这里主要从源码分析一下ResourceManager的main方法主要做了哪些事情:

main方法中,主要就是下面这段代码

//获取配置信息
Configuration conf = new YarnConfiguration();
//实例化一个资源管理器
ResourceManager resourceManager = new ResourceManager();
 //关闭的钩子程序
ShutdownHookManager.get().addShutdownHook(
        new CompositeServiceShutdownHook(resourceManager),
        SHUTDOWN_HOOK_PRIORITY);
 //HTTP策略(是否或者仅支持https),默认只支持HTTP
setHttpPolicy(conf);
//初始化核心方法
resourceManager.init(conf);
//启动核心方法
resourceManager.start();


其中最核心的就是resourceManager.init(conf)和resourceManager.start(),先看

resourceManager.init(conf),其具体逻辑在AbstractService.init中,该方法主要的逻辑是记录

RM的生存周期状态,初始化配置信息,然后再调用和resourceManager.serviceInit方法,该方法是RM的核心方法之一

该方法主要将其13个核心服务(如AMLivelinessMonitor、ApplicationMasterService等)初始化,然后将这些服务保存到服务列表serviceList中

resourceManager.start()和init方法类似,其逻辑在AbstractService.start中,在该方法中再调用.ResourceManager.serviceStart,该方法主要是启动之前初始化的服务,启动RM的WEB服务,使RM能够正式对外提供服务。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: