先做如下声明,本代码版本是基于 3.1.2 版本。

  其实,我们自己在写代码的时候,会有意识地将比较大的功能项独立成包,独立成module, 独立成项目,项目之间的关系既容易阅读理解,又便于管理。

  如下,是hadoop-yarn-project的module截图:

  Hadoop YARN 的大部分功能在 hadoop-yarn-project module 下,现将该module下各个module 的功能做一个大致的说明【顺序按上面截图自上而下】:

  hadoop-yarn-api:YARN的跨平台外部接口。定义了 公共的 Application Master 的拦截器、相关资源的API、YARN服务以及通信过程中用到的records类以及相关的工具类、相关异常、

  hadoop-yarn-application:其下包含了5个module, 分别是

    hadoop-yarn-applications-catalog:YARN应用程序catalog是用于在Hadoop上部署支持docker的云应用程序的应用程序catalog。简言之,这部分是 对docker 的支持的catalog

    hadoop-yarn-applications-distributedshell:对分布式运行脚本的支持

    hadoop-yarn-applications-unmanaged-am-launcher:UnmanagedLauncher是一个启动和非托管AM的简单客户端。非托管AM是由RM未启动和管理的AM。客户端在RM上创建新应用程序并协商新的attempt ID。然后等待RM应用程序状态到达YarnApplicationState.ACCEPTED,之后它在另一个进程中生成AM并通过env变量Environment.CONTAINER_ID将容器ID传递给它。 AM可以使用任何语言。 AM可以使用从容器ID获得的尝试ID向RM注册并正常进行。客户端将app stdout和stderr重定向到自己的stdout和stderr,并等待AM进程退出。然后它等待RM报告应用程序完成。

    hadoop-yarn-services:包含两个module,hadoop-yarn-services-api 提供了YARN 服务的客户端API、以及用于YARN 服务的 API;hadoop-yarn-services-core 提供了 yarn 服务的框架

  hadoop-yarn-client:hadoop yarn 的客户端 API 以及 相关工具类支持

  hadoop-yarn-common:hadoop yarn 的client和 server 的 公用工具类库,定义了一些用于网络传输的 pb实现的record以及创建records 的工厂,事件的分发器、ipc、日志汇集相关的支持、Node的label的支持、和对安全的支持、sharedcache 的checksum的校验、状态机的定义、图的定义以及 web 前端的支持等。

  hadoop-yarn-registry:现在该部分功能已经迁移到 hadoop-common-project module 下的 hadoop-registry module 下面,主要功能是负责 hadoop Service 的注册,包括服务注册的命令行工具类org.apache.hadoop.registry.cli.RegistryCli;YARN client注册的API,注册绑定的工具类、定义了注册服务过程的异常、以及 Curator 和 Zookeeper 对 服务发现绑定的 支持、DNS Server的创建来帮助服务发现或者YARN 应用,以及和 RM 的集成,以及服务端为YARN 提供服务注册的基础服务等。

  hadoop-yarn-server module下包含了如下模块【下面模块中以 hadoop-yarn-server开头的module】:

  hadoop-yarn-server-applicationhistoryservice:applicationhistoryservice 服务

  hadoop-yarn-server-common:nodemanager 和 resourcemanager 的共享 API

  hadoop-yarn-server-nodemanager: nodemanager 服务,替代了 hadoop的TaskTracker

  hadoop-yarn-server-resourcemanager: resourcemanager 服务, 替代了 hadoop的JobTracker

  hadoop-yarn-server-router:hadoop yarn的 router 服务

  hadoop-yarn-server-sharedcachemanager:sharedcache 服务

  hadoop-yarn-server-tests:这个是一个测试的module主要对 hadoop-yarn-server module下的各个module的测试

  hadoop-yarn-server-timeline-pluginstorage:timeline-pluginstorage,请求查询映射到缓存的接口

  hadoop-yarn-server-timelineservice:timelineservice 持久化服务。timelineservice 主要负责两种持久化服务:

  hadoop-yarn-server-timelineservice-hbase:使用hbase 作为 timelineservice 的底层持久化介质的接口

  hadoop-yarn-server-timelineservice-hbase-tests:timelineservice-hbase 的测试类

  hadoop-yarn-server-web-proxy:hadoop yarn server的web proxy

  hadoop-yarn-site:关于 hadoop yarn 的一些关键的概念架构和相关术语的解释

  hadoop-yarn-ui:yarn前端UI

  注:以上各个模块的功能只是简单根据module 包说明做的简单汇总说明,可能概括的不是很准确,后面写到具体模块时,会同步更新对应module 的功能概述。

最新文章

  1. 协程,事件驱动,异步io模型,异步网络框架
  2. NOIP2010 乌龟棋
  3. GMT-Note 基本参数详细说明
  4. sublime text3 下搭建python IDE环境 --Anaconda插件篇
  5. Impala 3、Impala、Hbase整合
  6. PHP 数组拼接成字符串
  7. 走进JavaScript——重拾对象
  8. Java利用递归算法统计1-6的数组排列组合数
  9. 【BZOJ1997】Planar(2-sat)
  10. List集合流处理类型小结
  11. DiscuzX2.5,X3.0,X3.1,X3.2完整目录结构【模板目录template】
  12. C#创建windows服务并发布
  13. 扩展的GM命令
  14. Django Web开发学习笔记(5)
  15. iOS - 导航栏设置半透明或取消半透明
  16. 购物商城学习--第三讲(tomcat插件启动web工程)
  17. 最齐全的Android studio 快捷键(亲测可用)
  18. Java/JDK安装教程手册(正规图文全流程)、运行、环境配置
  19. Appium简介和初步使用520-1
  20. MyBatis入门及CRUD

热门文章

  1. 「两」创建一个带 ssh 镜座服务(修订版)--采用 Dockerfile 创
  2. Qt::WindowFlags枚举类型(Qt::Widget是独立窗口和子窗口两用的,Qt::Window会有标题栏)
  3. Customize Acrylic Brush in UWP Applications(在UWP中自定义亚克力笔刷)
  4. https学习笔记
  5. Linux内核源代码情景分析-fork()
  6. Windows系统时间(FILETIME和SYSTEMTIME)
  7. Http请求格式(在Linux下使用telnet亲测,通过这篇我才明白)
  8. MIS的趋势必定是围绕机器取代人手,分工越来越细(小餐厅都支持微信自助点餐,结账时就打个折,相当于省了1、2个人手,SQL发明以后,程序员的工作更多了)
  9. 工具:sql server profiler(分析器)
  10. XF 键盘类型设置