- 浏览: 599569 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (669)
- oracle (36)
- java (98)
- spring (48)
- UML (2)
- hibernate (10)
- tomcat (7)
- 高性能 (11)
- mysql (25)
- sql (19)
- web (42)
- 数据库设计 (4)
- Nio (6)
- Netty (8)
- Excel (3)
- File (4)
- AOP (1)
- Jetty (1)
- Log4J (4)
- 链表 (1)
- Spring Junit4 (3)
- Autowired Resource (0)
- Jackson (1)
- Javascript (58)
- Spring Cache (2)
- Spring - CXF (2)
- Spring Inject (2)
- 汉字拼音 (3)
- 代理模式 (3)
- Spring事务 (4)
- ActiveMQ (6)
- XML (3)
- Cglib (2)
- Activiti (15)
- 附件问题 (1)
- javaMail (1)
- Thread (19)
- 算法 (6)
- 正则表达式 (3)
- 国际化 (2)
- Json (3)
- EJB (3)
- Struts2 (1)
- Maven (7)
- Mybatis (7)
- Redis (8)
- DWR (1)
- Lucene (2)
- Linux (73)
- 杂谈 (2)
- CSS (13)
- Linux服务篇 (3)
- Kettle (9)
- android (81)
- protocol (2)
- EasyUI (6)
- nginx (2)
- zookeeper (6)
- Hadoop (41)
- cache (7)
- shiro (3)
- HBase (12)
- Hive (8)
- Spark (15)
- Scala (16)
- YARN (3)
- Kafka (5)
- Sqoop (2)
- Pig (3)
- Vue (6)
- sprint boot (19)
- dubbo (2)
- mongodb (2)
最新评论
一、基本组成结构
* 集群唯一的ResourceManager
* 每个任务对应的ApplicationMaster
* 每个机器节点上的NodeManager
* 运行在每个NodeManager上针对某个任务的Container
1. ResourceManager
负责对各个 NodeManager 上的资源进行统一管理和调度。
包含两个组件:
* Scheduler:调度器根据容量、队列等限制条件(如每个队列分配一定的资源,最多执行一定数量的作业等),将系统中的资源分配给各个正在运行的应用程序
* Applications Manager:应用程序管理器负责管理整个系统中所有应用程序,包括应用程序提交、与调度器协商资源以启动ApplicationMaster、监控ApplicationMaster运行状态并在失败时重新启动它等
2. NodeManager
NM 是每个节点上的资源和任务管理器。
* 定时地向 RM 汇报本节点上的资源使用情况和各个Container 的运行状态
* 接收并处理来自AM 的Container启动/ 停止等各种请求
3. ApplicationMaster
用户提交的每个应用程序均包含一个AM,主要功能包括:
* 与 RM 调度器协商以获取资源(用 Container 表示)
* 将得到的任务进一步分配给内部的任务
* 与 NM 通信以启动 / 停止任务
* 监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务
4. Container
Container 是 YARN 中的资源抽象, 它封装了某个节点上的多维度资源, 如内存、CPU、磁盘、网络等,当AM 向RM 申请资源时,RM 为AM 返回的资源便是用Container表示的。
二、YARN 的工作流程
1.用户向 YARN 中提交应用程序, 其中包括 ApplicationMaster 程序、启动ApplicationMaster 的命令、用户程序等。
2.ResourceManager 为该应用程序分配第一个Container,并与对应的Node-Manager 通信,要求它在这个Container中启动应用程序的ApplicationMaster。
3.ApplicationMaster 首先向ResourceManager 注册,这样用户可以直接通过ResourceManage 查看应用程序的运行状态,然后它将为各个任务申请资源,并监控它的运行状态,直到运行结束,即重复步骤4~7。
4.ApplicationMaster 采用轮询的方式通过RPC 协议向ResourceManager 申请和领取资源。
一旦ApplicationMaster 申请到资源后,便与对应的NodeManager 通信,要求它启动任务。
NodeManager 为任务设置好运行环境(包括环境变量、JAR 包、二进制程序等)后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务。
5.各个任务通过某个RPC 协议向ApplicationMaster 汇报自己的状态和进度,以让ApplicationMaster 随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。在应用程序运行过程中,用户可随时通过RPC向ApplicationMaster 查询应用程序的当前运行状态。
6.应用程序运行完成后,ApplicationMaster 向ResourceManager 注销并关闭自己。
* 集群唯一的ResourceManager
* 每个任务对应的ApplicationMaster
* 每个机器节点上的NodeManager
* 运行在每个NodeManager上针对某个任务的Container
1. ResourceManager
负责对各个 NodeManager 上的资源进行统一管理和调度。
包含两个组件:
* Scheduler:调度器根据容量、队列等限制条件(如每个队列分配一定的资源,最多执行一定数量的作业等),将系统中的资源分配给各个正在运行的应用程序
* Applications Manager:应用程序管理器负责管理整个系统中所有应用程序,包括应用程序提交、与调度器协商资源以启动ApplicationMaster、监控ApplicationMaster运行状态并在失败时重新启动它等
2. NodeManager
NM 是每个节点上的资源和任务管理器。
* 定时地向 RM 汇报本节点上的资源使用情况和各个Container 的运行状态
* 接收并处理来自AM 的Container启动/ 停止等各种请求
3. ApplicationMaster
用户提交的每个应用程序均包含一个AM,主要功能包括:
* 与 RM 调度器协商以获取资源(用 Container 表示)
* 将得到的任务进一步分配给内部的任务
* 与 NM 通信以启动 / 停止任务
* 监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务
4. Container
Container 是 YARN 中的资源抽象, 它封装了某个节点上的多维度资源, 如内存、CPU、磁盘、网络等,当AM 向RM 申请资源时,RM 为AM 返回的资源便是用Container表示的。
二、YARN 的工作流程
1.用户向 YARN 中提交应用程序, 其中包括 ApplicationMaster 程序、启动ApplicationMaster 的命令、用户程序等。
2.ResourceManager 为该应用程序分配第一个Container,并与对应的Node-Manager 通信,要求它在这个Container中启动应用程序的ApplicationMaster。
3.ApplicationMaster 首先向ResourceManager 注册,这样用户可以直接通过ResourceManage 查看应用程序的运行状态,然后它将为各个任务申请资源,并监控它的运行状态,直到运行结束,即重复步骤4~7。
4.ApplicationMaster 采用轮询的方式通过RPC 协议向ResourceManager 申请和领取资源。
一旦ApplicationMaster 申请到资源后,便与对应的NodeManager 通信,要求它启动任务。
NodeManager 为任务设置好运行环境(包括环境变量、JAR 包、二进制程序等)后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务。
5.各个任务通过某个RPC 协议向ApplicationMaster 汇报自己的状态和进度,以让ApplicationMaster 随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。在应用程序运行过程中,用户可随时通过RPC向ApplicationMaster 查询应用程序的当前运行状态。
6.应用程序运行完成后,ApplicationMaster 向ResourceManager 注销并关闭自己。
发表评论
文章已被作者锁定,不允许评论。
-
Hadoop namenode的fsimage与editlog详解
2017-05-19 10:04 1187Namenode主要维护两个文件,一个是fsimage,一个是 ... -
Hadoop HBase建表时预分区(region)的方法学习
2017-05-15 11:18 1193如果知道Hbase数据表的key的分布情况,就可以在建表的时候 ... -
Hadoop HBase行健(rowkey)设计原则学习
2017-05-15 10:34 1126Hbase是三维有序存储的,通过rowkey(行键),colu ... -
Hadoop HBase中split原理学习
2017-05-12 13:38 2280在Hbase中split是一个很重 ... -
Hadoop HBase中Compaction原理学习
2017-05-12 10:34 999HBase Compaction策略 RegionServer ... -
Hadoop HBase性能优化学习
2017-05-12 09:15 687一、调整参数 入门级的调优可以从调整参数开始。投入小,回报快 ... -
Hadoop 分布式文件系统学习
2017-05-10 15:34 506一. 分布式文件系统 分布式文件系统,在整个分布式系统体系中处 ... -
Hadoop MapReduce处理wordcount代码分析
2017-04-28 14:25 593package org.apache.hadoop.exa ... -
Hadoop YARN完全分布式配置学习
2017-04-26 10:27 577版本及配置简介 Java: J ... -
Hadoop YARN(Yet Another Resource Negotiator)详细解析
2017-04-24 18:30 1160带有 MapReduce 的 Apache Had ... -
Hive 注意事项与扩展特性
2017-04-06 19:31 7501. 使用HIVE注意点 字符集 Hadoop和Hive都 ... -
Hive 元数据和QL基本操作学习整理
2017-04-06 14:36 1030Hive元数据库 Hive将元数据存储在RDBMS 中,一般常 ... -
Hive 文件压缩存储格式(STORED AS)
2017-04-06 09:35 2320Hive文件存储格式包括以下几类: 1.TEXTFILE ... -
Hive SQL自带函数总结
2017-04-05 19:25 1142字符串长度函数:length ... -
Hive 连接查询操作(不支持IN查询)
2017-04-05 19:16 729CREATE EXTERNAL TABLE IF NOT ... -
Hive优化学习(join ,group by,in)
2017-04-05 18:48 1818一、join优化 Join ... -
Hive 基础知识学习(语法)
2017-04-05 15:51 903一.Hive 简介 Hive是基于 Hadoop 分布式文件 ... -
Hive 架构与基本语法(OLAP)
2017-04-05 15:16 1253Hive 是什么 Hive是建立在Hadoop上的数据仓库基础 ... -
Hadoop MapReduce操作Hbase范例学习(TableMapReduceUtil)
2017-03-24 15:37 1217Hbase里的数据量一般都 ... -
Hadoop MapReduce将HDFS文本数据导入HBase
2017-03-24 11:13 1222HBase本身提供了很多种数据导入的方式,通常有两种常用方式: ...
相关推荐
通过本书的学习,读者可以全面掌握Hadoop YARN的架构设计和实现原理,不仅理解各个组件的功能和工作方式,还能深入到源代码层面,从而在实际工作中更加高效地部署和优化YARN集群。此外,本书还通过对比分析了不同...
在Hadoop YARN的基本架构中,核心组件包括ResourceManager(RM)、NodeManager(NM)和ApplicationMaster(AM)。ResourceManager是集群的中心控制器,负责接收客户端请求,启动和监控ApplicationMaster,监控...
Apache Hadoop YARN是Hadoop 2.0核心组件之一,它代表了Hadoop技术的重大进步,超越了原有的MapReduce和批处理的局限性。Hadoop YARN权威指南是一本专门介绍YARN架构及其功能的书籍。首先,我们需要了解Hadoop YARN...
YARN(Yet Another Resource Negotiator),是Apache Hadoop生态系统中的核心组件之一,负责管理和调度集群资源,使得大数据处理更加高效和灵活。下面将详细阐述YARN的主要概念、工作原理及其在实际应用中的重要性。...
Hadoop 2.0 YARN,全称Yet Another Resource Negotiator,是Apache Hadoop生态系统中的一个核心组件,它在Hadoop 1.0 MapReduce的基础上进行了重大改进,旨在解决资源管理和调度的问题,以提高分布式计算的效率和...
在大数据处理领域,Hadoop MapReduce和YARN是两个至关重要的组件,它们构成了Apache Hadoop生态系统的核心部分。MapReduce是一种编程模型,用于处理和生成大规模数据集,而YARN(Yet Another Resource Negotiator)...
Apache Hadoop 是一个开源的分布式计算框架,主要由两个核心组件构成:HDFS(Hadoop Distributed File System)和YARN(Yet Another Resource Negotiator)。本教程将深入探讨YARN,它是Hadoop生态系统中的资源管理...
《Hadoop技术内幕深入解析YARN架构设计与实现原理》这本书深入探讨了Hadoop生态系统中的核心组件YARN(Yet Another Resource Negotiator),它是Hadoop 2.x版本中的关键改进,旨在解决早期Hadoop MapReduce的资源...
Hadoop.MapReduce 和 YARN 笔记 本节笔记主要介绍了 Hadoop.MapReduce 和 YARN 的基本概念、组成部分、工作原理以及实践应用。 一、MapReduce 概念 MapReduce 是 Hadoop 的核心组件之一,负责处理大规模数据。...
本主题聚焦于如何利用Grafana来监控Hadoop生态系统中的各个组件,提高系统的可观察性和管理效率。 首先,我们来看Hadoop生态组件: 1. HDFS (Hadoop Distributed File System): 包括NameNode (NN) 和DataNode (DN)...
根据提供的文件信息,我们可以总结出一系列与Hadoop YARN相关的重要知识点...综上所述,本书是深入了解Hadoop YARN不可或缺的参考资料,对研究、应用和优化Hadoop生态系统中YARN的各个方面提供了全面的技术支持和指导。
《董西城-Hadoop技术内幕-深入理解YARN架构设计与实现原理》是一部全面解析Hadoop生态系统中YARN(Yet Another Resource Negotiator)核心组件的专业著作。这本书详细介绍了YARN的架构、设计思想以及实现机制,旨在...
Hadoop是Apache软件基金会开发的一个开源分布式计算框架,它的核心设计是基于两个主要组件:HDFS(Hadoop Distributed File System)和MapReduce。HDFS是一个分布式文件系统,它允许存储和处理海量数据;而MapReduce...
- **Hadoop**:在主节点(hadoop001)上执行`$HADOOP_HOME/sbin/start-all.sh`,并在副节点(hadoop002)上执行`$HADOOP_HOME/sbin/yarn-daemon.sh start resourcemanager`以及`$HADOOP_HOME/sbin/mr-jobhistory-daemon....
它允许在廉价硬件上处理和存储大量数据,主要由两个核心组件构成:HDFS(Hadoop Distributed File System)和MapReduce。 2. **HDFS**:HDFS是一种高度容错性的分布式文件系统,能够自动将数据复制到多个节点,确保...
Hadoop集群搭建完成后,需要按照特定的顺序启动各个服务,比如先启动NameNode和DataNode,然后启动YARN。同时,需要掌握使用Hadoop自带的监控工具来检查集群的健康状态和资源使用情况。 9. Hadoop应用开发: 当...
总结来说,Hadoop的学习涵盖了HDFS的基础概念、数据读写流程,以及Map-Reduce模型的理解和应用。掌握这些知识点,不仅能够帮助你理解和操作Hadoop系统,也为进一步探索大数据处理和分析打下坚实基础。在实践中不断...