先做如下声明,本代码版本是基于 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 的功能概述。

YARN分析系列之二 -- Hadoop YARN各个自模块说明的更多相关文章

  1. YARN分析系列之三 -- 从脚本入口分析 ResourceManager的初始化过程

    1. 由脚本找到 RM 主类 这部分,我们从脚本作为入口去逐步深入ResourceManager源码. 从 Hadoop 官方文档 中可以看到 ResourceManager 的启动命令为: Usag ...

  2. YARN分析系列之一 -- 总览YARN组件

    下图简单明了的描述了hadoop yarn 的功能是如何从 hadoop 中细化出来的. 注:图片来自 https://apprize.info/php/hadoop/9.html Hadoop 从 ...

  3. Hadoop 系列文章(二) Hadoop配置部署启动HDFS及本地模式运行MapReduce

    接着上一篇文章,继续我们 hadoop 的入门案例. 1. 修改 core-site.xml 文件 [bamboo@hadoop-senior hadoop-2.5.0]$ vim etc/hadoo ...

  4. java执行程序的内存分析系列专栏二之static变量和方法内存分析

    昨天写了简单的聊了下java执行程序时简单的内存划分,今天我们接着往下聊,聊聊static变量和方法的内存分析. 1.static变量和方法的第一个特性内存分析 statiic变量和方法的第一个特性能 ...

  5. Java内存泄漏分析系列之二:jstack生成的Thread Dump日志结构解析

    原文地址:http://www.javatang.com 一个典型的thread dump文件主要由一下几个部分组成: 上图将JVM上的线程堆栈信息和线程信息做了详细的拆解. 第一部分:Full th ...

  6. Netty 源码分析系列(二)Netty 架构设计

    前言 上一篇文章,我们对 Netty做了一个基本的概述,知道什么是Netty以及Netty的简单应用. Netty 源码分析系列(一)Netty 概述 本篇文章我们就来说说Netty的架构设计,解密高 ...

  7. jQuery-1.9.1源码分析系列(二)jQuery选择器

    1.选择器结构 jQuery的选择器根据源码可以分为几块 init: function( selector, context, rootjQuery ) { ... // HANDLE: $(&quo ...

  8. jQuery-1.9.1源码分析系列(二)jQuery选择器续1

    在分析之前说一点题外话. ownerDocument和 documentElement的区别 ownerDocument是Node对象的一个属性,返回的是某个元素的根节点文档对象:即document对 ...

  9. jQuery-1.9.1源码分析系列(二)jQuery选择器续2——筛选

    前面分析了选择器的结构和几个解析函数,接下来分析jQuery对象的伪类选择器.这里所谓的jQuery对象的伪类选择器就是从已有的jQuery对象(元素集合)中筛选出指定的集合出来. 4.    jQu ...

随机推荐

  1. Android 项目框架功能整理记录

    用来记录自己在项目用到的框架工具等,新人新记录,希望能对你搭建项目有所帮助 常用框架整理 视图绑定注解框架: butterKnife 网络请求框架: OKHttp 图片加载缓存:Gilde 数据格式解 ...

  2. UWP 中的各种文件路径(用户、缓存、漫游、安装……)

    原文 UWP 中的各种文件路径(用户.缓存.漫游.安装……) UWP 提供了多种不同文件路径访问方式,对应到不同的文件路径中.可能我们只是简单用 ApplicationData.Current 获取一 ...

  3. C++于public、protected和private说明(From MSDN)

    public(C# 參考): https://msdn.microsoft.com/zh-cn/library/yzh058ae.aspx protected(C# 參考):https://msdn. ...

  4. WPF中制作立体效果的文字或LOGO图形

    原文:WPF中制作立体效果的文字或LOGO图形 较久之前,我曾写过一篇:"WPF绘制党徽(立体效果,Cool) "的博文.有感兴趣的朋友来EMAIL问是怎么制作的?本文解决此类问题 ...

  5. Ado.net连接字符串

    学习刘皓的 文章ADO.NET入门教程(三) 连接字符串,你小觑了吗? 连接字符串主要有DataSource 指定地址 通常是ip 如果Express 就要使用形如 ./Express或者 (loca ...

  6. Leetcode dfs Combination Sum

    Combination Sum Total Accepted: 17319 Total Submissions: 65259My Submissions Given a set of candidat ...

  7. wpf 实现实时毛玻璃(live blur)效果

    原文:wpf 实现实时毛玻璃(live blur)效果 I2OS7发布后,就被它的时实模糊吸引了,就想着能不能将这个效果引入到我们的产品上.拿来当mask肯定会很爽,其实在之前也做过类似的,但是不是实 ...

  8. get与post一些特殊情况下

    p=574"> 文章已经迁移至http://androiddevelop.cn/?p=574 版权声明:本文博客原创文章.博客,未经同意,不得转载.

  9. 解压压缩文件报错gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now

    压缩包是直接weget 后面加官网上的tar包地址获取的  [root@xuegod43 ~]# tar -zxvf /home/hadoop/hadoop-2.6.5-src.tar.gz gzip ...

  10. C#使用拉依达准则(3σ准则)剔除异常数据(.Net剔除一组数据中的奇异值)

    原文:C#使用拉依达准则(3σ准则)剔除异常数据(.Net剔除一组数据中的奇异值) 1.问题的提出: 电池生产中,遇到一批电池的测量结果数据: 电压值 电池个数 电压值 电池个数 电压值 电池个数 电 ...