Hadoop 2.0 Yarn代码:ResourcesManager端代码_RM端各模块服务的启动

1.概览

以下介绍的NodeManager是如何启动和注册各个服务的

主要涉及的Java文件

hadoop-yarn-server-resourcemanager下的包org.apache.hadoop.yarn.server.resourcemanager:

ResourcesManager.java

 

2.代码分析

Hadoop启动时。ResourcesManager的main开始执行

 

1).main函数

  • 进行初始化操作,eg:配置信息的读取等等,然后创建ResourcesManager地向
  • 执行ResourcesManager的init()函数.
  • 执行ResourcesManager的start()函数.

 

2).init函数

  • 设置配置参数
  • 依次创建 AsyncDispatcher、ContainerAllocationExpirer、ResourceTrackerService、ApplicationMasterService、ApplicationMasterLauncher、FifoScheduler(默认 可改)、ClientRMService等对象,并将这些对象(或者说服务)添加到 ArrayList<Service>对象serviceList(不同于NodeManager),这个过程与NodeManager中init()执行过程相似
  • 将SchedulerEventDispatcher、RMAppManager、ApplicationEventDispatcher等等的和其相应的EventsType,都注册到异步事件调度器(AsyncDispatcher)当中

 

3).start()函数

  • 进行配置信息的读取,安全操作认证等操作
  • 调用父类的start()函数,启动serviceList中所有的服务

 

 

下图给出了部分启动的服务

 

 

 

 

posted on 2012-08-19 14:21  as_  阅读(1295)  评论(0编辑  收藏  举报

导航