Hadoop2.0架构设计与原理
hadoop2.0

1.PVFS(parallel virtual file system)将数据存储到多个集群节点中,数据保存到这些节点的本地文件系统中,多个客户端可以同时并行访问这些数据。
三方架构:计算节点、管理节点、IO节点计算节点:运行应用程序,发起PVFS的IO请求。
(仅一个)管理节点:管理元数据,接受并调度计算节点的IO请求IO节点:存放PVFS文件系统中的文件数据,所有文件数据的读写都要经过IO节点2.YARN(Yet Another Resource Negotion)《Hadoop YARN大数据计算框架及其资源调度机制研究》Hadoop2.0提出的资源管理系统,一个多种计算框架通用的资源调度体系。
设计思想:将原MapReduce架构中的JobTracker的两个主要功能,资源管理和作业调度/监控分为两个独立组件,全局的ResourceManager和与每个应用相关的ApplicationMaster 实时计算框架:内存计算框架(Spark)流式计算框架(Storm)迭代式计算框架(iMapReduce)YARN的组成结构:YARN总体上仍为Master/Slave结构。
其中Rsource Manager为master,Node Manager为slave。
RM负责对各个NM上的资源进行统一管理和调度。
应用程序主控节点(Application Master):用户提交应用程序时,需要一个提供跟踪和管理这个程序的Application Master,由它向RM申请资源,并要求NM按AM申请到的Container 资源信息来启动任务。
RM功能:全局资源管理器,负责整个系统的资源管理和分配。
包含:一个资源调度器(Resource Scheduler):负责分配资源给各个正在运行的应用程序一个程序管理器(Application Manager):负责整个系统中应用程序的启动、关闭、访问权限和资源使用期限等AM功能:用户提交的每个应用程序均包含一个AM,负责跟踪管理应用程序。
hadoop原理与架构

hadoop原理与架构Hadoop是一个分布式计算框架,可以处理大规模的数据集。
它由Apache软件基金会开发和维护,是一个开源的项目。
Hadoop由两个主要组件组成:HDFS和MapReduce。
一、HDFSHDFS(分布式文件系统)是Hadoop的存储层。
它被设计为可靠且容错的,可以在大规模集群上运行。
HDFS将文件划分为块,并将这些块存储在不同的节点上。
每个块都有多个副本,以保证数据的可靠性和容错性。
1.1 HDFS架构HDFS采用主从架构,其中有一个NameNode和多个DataNode。
NameNode负责管理文件系统命名空间、权限和块映射表等元数据信息;而DataNode则负责存储实际数据块。
1.2 HDFS工作原理当客户端需要读取或写入文件时,它会向NameNode发送请求。
NameNode会返回包含所需数据块位置信息的响应。
客户端接收到响应后,就可以直接与DataNode通信进行读写操作。
当客户端写入文件时,它会将文件划分为多个块,并将这些块发送给不同的DataNode进行存储。
每个块都有多个副本,并且这些副本会分散在不同的节点上。
如果某个DataNode发生故障,其他副本可以被用来恢复数据。
当客户端读取文件时,它会向NameNode发送请求,并获取包含所需数据块位置信息的响应。
然后,客户端会直接从DataNode读取数据块。
二、MapReduceMapReduce是Hadoop的计算层。
它是一个分布式处理框架,可以在大规模集群上运行。
MapReduce将任务划分为两个阶段:Map和Reduce。
2.1 Map阶段在Map阶段,输入数据被划分为多个小块,并由多个Mapper并行处理。
每个Mapper都会将输入数据转换为键值对,并将这些键值对传递给Reducer进行处理。
2.2 Reduce阶段在Reduce阶段,Reducer会对Map输出的键值对进行聚合和排序,并生成最终输出结果。
hadoop工作原理

hadoop工作原理Hadoop工作原理Hadoop是一个用于分布式存储和处理大规模数据的开源框架,它的设计灵感来自于Google的MapReduce和Google File System。
Hadoop的核心组件包括Hadoop Distributed File System(HDFS)和MapReduce。
让我们来看看HDFS是如何工作的。
HDFS是一个分布式文件系统,它将大文件分成多个块(通常是128MB或256MB大小),并将这些块存储在集群中的不同节点上。
每个块都有多个副本(通常是3个),这样即使某个节点发生故障,数据也不会丢失。
HDFS采用主从架构,包括一个NameNode和多个DataNode。
NameNode负责管理文件系统的命名空间,记录文件的目录结构和块的位置信息;而DataNode负责存储实际的数据块。
让我们来了解一下MapReduce是如何工作的。
MapReduce是一种用于并行处理大规模数据的编程模型。
它将一个任务分成两个阶段:Map阶段和Reduce阶段。
在Map阶段,数据被切分成若干个小块,然后由不同的Map任务并行处理;在Reduce阶段,Map任务的输出结果被合并和整理,然后由Reduce任务进行最终的处理。
MapReduce框架会自动处理任务的调度、容错和数据的复制等问题。
Hadoop的工作原理可以总结为以下几个步骤:1. 客户端将数据上传到HDFS。
数据被分成多个块,并存储在集群中的不同节点上。
2. 客户端编写MapReduce程序,并提交给JobTracker。
JobTracker 负责分配任务给不同的TaskTracker。
3. JobTracker根据集群的状态和任务的优先级,将任务分发给空闲的TaskTracker。
每个TaskTracker会启动一个Map任务或Reduce 任务来处理数据。
4. Map任务读取HDFS中的数据块,并根据用户定义的Map函数进行处理,生成中间结果。
hadoop 原理

hadoop 原理Hadoop是一个开源的分布式计算框架,基于Google的MapReduce和分布式文件系统(HDFS)的概念而设计。
它可以处理大规模数据集并将其分布式存储在集群中的多个计算节点上。
Hadoop的核心原理包括:1. 分布式存储:Hadoop将大规模的数据集分散存储在集群中的多个计算节点上。
这些数据被分割为多个块,并复制到多个节点上以提供容错性。
这种分布式存储方式以Hadoop分布式文件系统(HDFS)实现,允许在存储节点上进行数据读写操作。
2. 分布式计算:Hadoop利用MapReduce模型进行分布式计算。
MapReduce模型将计算任务分为两个关键步骤:Map和Reduce。
Map阶段将输入数据集映射为键值对,并为每个键值对生成一个中间结果。
Reduce阶段将相同键的中间结果聚合为最终结果。
这种分布式计算模型允许在不同计算节点上并行处理数据块,并将结果合并。
3. 容错性:Hadoop实现了容错机制,使得在集群中的节点发生故障时能够自动恢复和重新分配任务。
当一个节点失败时,Hadoop会将该节点上的任务重新分配给其他可用节点,以确保计算过程的连续性和可靠性。
4. 数据局部性优化:Hadoop提供了数据局部性优化机制,通过将计算任务调度到存储有数据块的节点上来减少数据传输开销。
这样可以最大限度地利用集群内部的带宽和计算资源,提高计算效率。
5. 扩展性:Hadoop的分布式架构具有良好的可扩展性,允许根据需求增加或减少集群中的计算节点。
这种可扩展性使得Hadoop能够处理大规模数据集,并且可以处理节点故障或新节点的加入。
综上所述,Hadoop通过分布式存储和计算、容错性、数据局部性优化和可扩展性等主要原理,实现了对大规模数据集的高效处理和分析。
hadoop基本架构和工作原理

hadoop基本架构和工作原理Hadoop是一个分布式开源框架,用于处理海量数据。
它能够使用廉价的硬件来搭建集群,同时还提供了高度可靠性和容错性。
Hadoop基本架构包括Hadoop Common、Hadoop Distributed File System (HDFS)和Hadoop MapReduce三个部分,下面将详细介绍Hadoop的工作原理。
1. Hadoop CommonHadoop Common是整个Hadoop架构的基础部分,是一个共享库,它包含了大量的Java类和应用程序接口。
Hadoop集群的每一台机器上都要安装Hadoop Common,并保持相同版本。
2. HDFSHadoop Distributed File System(HDFS)是Hadoop的分布式文件存储部分。
它的目的是将大型数据集分成多个块,并且将这些块在集群中的多个节点间分布式存储。
HDFS可以实现高度可靠性,因为它将每个块在存储节点之间备份。
HDFS可以在不同的节点中进行数据备份,这确保了数据发生故障时,可以轻松恢复。
3. MapReduceHadoop MapReduce是一种编程模型,用于处理大型数据集。
它将处理任务分成两个主要阶段,即Map阶段和Reduce阶段。
在Map阶段,MapReduce将数据集分成小块,并将每个块分配给不同的节点进行处理。
在Reduce阶段,结果被聚合,以生成最终的输出结果。
总的来说,MapReduce作为Hadoop的核心组件,负责对数据集进行处理和计算。
它充当的角色是一个调度员,它会将不同的任务分发到集群中的不同节点上,并尽力保证每个任务都可以获得足够的计算资源。
Hadoop采用多种技术来提供MapReduce的分布式计算能力,其中包括TaskTracker、JobTracker和心跳机制等。
TaskTracker是每个集群节点的一个守护程序,负责处理MapReduce任务的具体实现。
大数据技术和Hadoop的基本原理和架构

大数据技术和Hadoop的基本原理和架构随着互联网时代的到来,数据量呈现出爆发式增长的趋势,数据信息化也成为了各行业的一个重要趋势。
越来越多的企业和机构在进行各种数据分析,比如市场调研、金融分析、运营分析、医疗研究等。
针对这个问题,业界产生了一种新的技术解决方案:大数据技术(Big Data)。
大数据技术是一种关注数据处理、管理和分析的技术体系。
它的目标是能够处理任何规模和复杂程度的数据。
在大数据技术中,最著名的技术之一就是Hadoop。
Hadoop是一种基于Java的开源框架,主要用于分布式存储和处理大规模数据集,包括结构化和非结构化数据。
Hadoop的架构Hadoop架构可以分为两个核心部分:存储层和计算层。
这两个层次相互独立,但又联系紧密。
其中,存储层主要包括HDFS (Hadoop Distributed File System)和YARN(Yet Another Resource Negotiator)两个组件。
计算层主要包括Hadoop MapReduce。
Hadoop Distributed File System(HDFS)HDFS是Hadoop的存储组件,同时也是一个与Unix文件系统类似的文件系统。
它是一个分布式文件系统,被设计来存储大量的数据,并且能够持续地给该数据提供高可用性和高性能。
HDFS使用“块”来存储数据,每个块的默认大小是64M,每个文件可以被划分为许多块,并且每个都可以复制到许多机器上,以提高数据的可靠性和可用性。
为了实现高可靠性和高可用性,HDFS有三种类型的组件:NameNode、DataNode和SecondaryNameNode。
其中,NameNode是HDFS的“大管家”,负责整个集群中字节点的元数据信息存储、命名空间管理、数据块处理等。
DataNode则是HDFS集群的“工人”,实际存储数据的地方。
SecondaryNameNode的作用是辅助NameNode,通过定期备份NameNode来提高整个集群的可靠性。
hadoop架构与原理
hadoop架构与原理Hadoop架构与原理。
Hadoop是一个由Apache基金会开发的开源分布式计算框架,它能够高效地存储和处理大规模数据。
Hadoop的核心包括Hadoop分布式文件系统(HDFS)和MapReduce计算模型。
本文将介绍Hadoop的架构和原理,帮助读者更好地理解Hadoop的工作方式和优势。
Hadoop的架构主要包括HDFS和MapReduce两部分。
HDFS是Hadoop的分布式文件系统,它能够将大规模数据分布式存储在多台服务器上,并提供高可靠性和高吞吐量的数据访问。
HDFS的架构包括一个NameNode和多个DataNode,NameNode负责管理文件系统的命名空间和访问控制,而DataNode负责实际的数据存储和处理。
MapReduce是Hadoop的计算模型,它能够将数据分布式处理并生成最终的结果。
MapReduce的架构包括一个JobTracker和多个TaskTracker,JobTracker负责管理作业的提交和调度,而TaskTracker负责实际的任务执行。
Hadoop的原理主要包括数据存储和计算处理两部分。
在HDFS中,数据被分割成多个块并存储在不同的DataNode上,以提高数据的可靠性和可用性。
同时,HDFS还采用了数据复制和容错机制,确保数据能够在节点发生故障时不丢失。
在MapReduce中,数据被分布式处理并生成最终的结果,整个计算过程包括Map阶段和Reduce阶段。
在Map阶段,数据被分割成多个片段并分布式处理,生成中间结果;在Reduce阶段,中间结果被合并并生成最终的结果。
整个计算过程是并行执行的,能够高效地处理大规模数据。
Hadoop的优势主要体现在处理大规模数据和容错性方面。
由于Hadoop采用了分布式存储和计算模型,能够高效地处理大规模数据,并且具有良好的可扩展性和容错性。
同时,Hadoop还提供了丰富的生态系统和工具支持,能够满足各种不同场景下的数据处理需求。
hadoop的工作原理
Hadoop的工作原理1.简介H a do op是一个开源的分布式计算框架,用于存储和处理大规模数据集。
它的设计灵感来自于G oo gl e的Ma pR ed u ce和G oo gl e文件系统。
本文将介绍H ad oo p的工作原理,包括其核心组件和数据处理流程。
2. Ha doop的核心组件2.1H a d o o p分布式文件系统(H D F S)H D FS是H ad oo p的分布式文件系统,用于存储数据并保证高可靠性。
它将大文件切分为多个数据块,然后分散存储在不同的计算节点上。
H D FS采用主次节点结构,其中有一个名称节点(Na me No de)和多个数据节点(D at aN od e)。
名称节点负责管理文件系统的元数据,而数据节点存储实际的数据块。
2.2M a p R e d u c e计算模型M a pR ed uc e是Ha doo p的计算模型,用于处理分布式数据。
它将计算任务分为Ma p和Re du c e两个阶段。
Ma p阶段负责将输入数据切分为多个片段,并对每个片段执行指定的计算操作。
R ed uc e阶段负责将M ap阶段输出的结果进行合并和聚合,生成最终的输出。
2.3Y A R N资源管理器Y A RN(Y et An ot he rR e so ur ce Ne go ti ato r)是Ha do o p的资源管理器,用于协调集群中的计算资源。
它负责接收用户提交的作业,并将其分配给可用的计算节点进行处理。
Y AR N通过分配和管理资源,提供了高效的作业调度和资源利用。
3. Ha doop的数据处理流程3.1数据的存储和读取在H DF S中存储数据时,文件会被切分成逻辑块,并自动在集群中复制多份以提高可靠性。
在读取数据时,客户端首先向名称节点请求文件的元数据信息,然后直接与数据节点通信获取所需的数据块。
3.2数据的处理和计算当用户提交作业时,Y A RN资源管理器将作业分为多个任务,并将其分配给可用的计算节点执行。
掌握Hadoop的基本原理与使用方法
掌握Hadoop的基本原理与使用方法Hadoop是一个开源的分布式计算框架,能够处理海量数据的存储、计算和分析。
随着大数据技术不断发展,Hadoop成为了大数据领域的重要工具之一,很多企业都在使用Hadoop来解决数据分析、数据挖掘等问题。
本文将从Hadoop的基本原理、架构、工作流程和使用方法等方面进行介绍和分析。
一、Hadoop的基本原理Hadoop的核心理念是将海量的数据分布式存储在多个服务器上,并通过并行计算的方式对这些数据进行分析处理。
为了实现这个目的,Hadoop采用了分布式文件系统HDFS以及分布式计算框架MapReduce。
1. HDFSHDFS是Hadoop的分布式文件系统,它将数据分散存储在多台计算机上,并通过网络进行通信传输。
HDFS的设计理念是适合大数据处理,它是为了解决海量数据的可靠存储而设计的,支持数据的高可靠、高可用、高容错性、高并发等特性。
HDFS的数据存储格式是以块(Block)为单位,它将数据分为若干块,并将每个块复制多份存储在不同的计算机上,以实现数据的高可靠存储。
当有多份副本的块受到损坏时,HDFS会自动将其替换成副本块。
2. MapReduceMapReduce是Hadoop的分布式计算框架,它采用了“映射+归约”的思想,将数据分为多个小块,再将每个小块的数据分别处理。
在MapReduce模型中,Map作为第一步,将数据切分为一个个小块,并在集群中的每个节点上进行运算。
Reduce作为第二步,将每个节点上的计算结果进行合并计算,得到最终结果。
二、Hadoop的架构Hadoop的架构包含两个核心部分:HDFS和MapReduce。
1. HDFS架构HDFS架构由NameNode、DataNode、SecondaryNameNode组成。
其中,NameNode负责文件系统的命名空间和存储元数据信息,DataNode 负责实际数据块的存储和读写,SecondaryNameNode负责协助NameNode备份元数据和与NameNode通讯。
Hadoop的基本原理与使用教程
Hadoop的基本原理与使用教程Hadoop是一个开源的分布式计算框架,被广泛应用于大数据处理和分析。
它的设计目标是能够处理大规模数据集,并提供高容错性和高可靠性。
本文将介绍Hadoop的基本原理和使用教程,帮助读者更好地理解和应用这一强大的工具。
一、Hadoop的基本原理1. 分布式存储和计算:Hadoop将大规模数据集分割成多个块,并存储在分布式文件系统中,如Hadoop分布式文件系统(HDFS)。
同时,Hadoop利用分布式计算框架MapReduce将计算任务分发给集群中的多台机器进行并行处理。
2. 容错性:Hadoop通过数据冗余和自动故障恢复机制来提供高容错性。
数据冗余是指将数据复制到不同的机器上,以防止单个节点故障导致数据丢失。
自动故障恢复机制是指当某个节点发生故障时,Hadoop可以自动将任务重新分配给其他可用节点,以保证任务的顺利执行。
3. 高可靠性:Hadoop通过监控集群中的节点状态和任务执行情况,及时发现和处理故障,以提供高可靠性。
当节点出现故障时,Hadoop会自动将任务重新分配给其他可用节点,并记录任务执行的进度,以便在节点恢复后继续执行。
4. 扩展性:Hadoop的设计允许用户方便地扩展集群规模,以应对不断增长的数据量和计算需求。
用户可以根据实际情况增加或减少集群中的节点数量,以提高数据处理和计算能力。
二、Hadoop的使用教程1. 安装和配置:首先,需要下载Hadoop的安装包,并解压到本地目录。
然后,根据官方文档的指引,进行相关配置,包括设置环境变量、修改配置文件等。
配置完成后,启动Hadoop集群。
2. 数据上传:使用Hadoop提供的命令行工具或API,将需要处理的数据上传到HDFS中。
可以使用命令"hadoop fs -put"将本地文件上传到HDFS中的指定目录。
3. 编写MapReduce程序:MapReduce是Hadoop的核心计算框架,用户可以通过编写自定义的Map和Reduce函数来实现具体的计算逻辑。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
010 110 101 001 010 101 010 111 010 110 101 001 010 101 010 111 101 010 010 101 010 101 11
010 110 101 001 010 101 010 111 010 110 101 001 010 101 010 111 101 010 010 101 010 101 11
Hadoop YARN调度框架
双层调度框架 RM将资源分配给AM
AM将资源进一步分配给各个Task
基于资源预留的调度策略 资源不够时,会为Task预留,直到资源充足 与“all or nothing”策略不同(Apache Mesos)
Hadoop YARN资源调度器 多类型资源调度
什么是大数据
顾客:那你们有什么可以推荐的? 某比萨店的电话铃响了,客服人员拿起电话。 客服:您可以试试我们的低脂健康比萨。 客服: XXX比萨店。您好,请问有什么需要我为您服务 ? 顾客:你怎么知道我会喜欢吃这种的? 顾客:你好,我想要一份…… 客服:您上星期一在中央图书馆借了一本《低脂健康食谱》。 顾客:好。那我要一个家庭特大号比萨,要付多少钱? 客服:先生,烦请先把您的会员卡号告诉我。 客服:99元,这个足够您一家六口吃了。但您母亲应该少吃,她上个月刚刚做了 顾客: 16846146***。 心脏搭桥手术,还处在恢复期。 客服:陈先生,您好!您是住在泉州路一号 12楼120x室,请 顾客:那可以刷卡吗? 客服:陈先生,对不起。请您付现款,因为您的信用卡已经刷爆了,您现在还欠 问您想要点什么? 银行4807元,而且还不包括房贷利息。 顾客:我想要一个海鲜比萨 顾客:那我先去附近的提款机提款。…… 客服:陈先生,海鲜比萨不适合您。 客服:陈先生,根据您的记录,您已经超过今日提款限额。 顾客:算了,你们直接把比萨送我家吧,家里有现金。你们多久会送到? 顾客:为什么? 客服:大约30分钟。如果您不想等,可以自己骑车来。 客服:根据您的医疗记录,你的血压和胆固醇都偏高。 顾客:为什么? 客服:根据我们全球定位系统的车辆行驶自动跟踪系统记录。您登记有一辆车号 为SB-748的摩托车,而目前您正在解放路东段华联商场右侧骑着这辆摩托车。 顾客当即晕倒……
Hadoop2.0架构设计与原理
数据中心-Alan
主要内容 1
Hadoop介绍
Hadoop原理 Hadoop YARN产生的背景
2 3
4 5 6
Hadoop YARN基本架构
运行在YARN上的计算框架 YARN 发展趋势
主要内容 1
Hadoop介绍
Hadoop原理 Hadoop YARN产生的背景
HDFS体系结构
•
中心目录服务器 (NameNode) 管理大量数据服务器(DataNode) • NameNode 管理元数据 (文件目录树, 文件->块映射,块->数据服务器映 射表, etc.) • DataNode 负责存储数据、以及响应数据读写请求 • 客户端与NameNode交互进行文件创建/删除/寻址等操作, 之后直接与 DataNodes交互进行文件I/O
MapReduce计算框架
•为离线数据分析而设计,基本上是个利用数据并行性进行分布运算而后汇总结果的 计算框架 分析问题能够被并行化,且输入数据集可以被切分 一个Map函数,在第一阶段计算<Key,Value>对 一个Reduce函数,在第二阶段用于汇总Map函数的结果
MapReduce运行机制
2 3
4 5 6
Hadoop YARN基本架构
运行在YARN上的基本框架 YARN 发展趋势
Hadoop概述
Hadoop是一个开源的、可靠的、可扩展的分布式并行计算 框架 主要组成:分布式文件系统HDFS和MapReduce算法执行 作者:Doug Cutting 语言:Java,支持多种编程语言,如:Python、C++
离线计算框架:MapReduce DAG计算框架:Tez 流式计算框架:Storm
采用DRF算法(论文:“Dominant Resource Fairness: Fair Allocation of Multiple Resource Types”) 目前支持CPU和内存两种资源
提供多种资源调度器
FIFO Fair Scheduler Capacity Scheduler
主要内容 1
Hadoop介绍
Hadoop原理 Hadoop YARN产生的背景
2 3
4 5 6
Hadoop YARN基本架构
运行在YARN上的基本框架 YARN 发展趋势
应用程序的运行模型
input
Map
output
input
Map
Reduce
output
input
Stage 1
Stage 2 Stage 3
大数据VS传统数据
大数据处理流程
非结构化数据
结构化数据
实时流数据
ETL
10 10 10 01 01 01 01 01 01 11 10 10 10 01 01 01 01 01 01 11
0101 1010 1001 0101 0101 0111 0101 1010 1001 0101 0101 0111 1010 1001 0101 0101 0111
Hadoop的起源 Hadoop是Google的集群系统的开源实现 Google集群系统:GFS(Google File System)、 MapReduce、BigTable Hadoop主要由HDFS(Hadoop Distributed File System Hadoop分布式文件系统)、MapReduce Hadoop的初衷是为解决 Nutch 的海量数据爬取和存储的需 要 Hadoop于2005年秋天作为 Lucene的子项目Nutch的一部 分正式引入Apache基金会。 名称起源: Doug Cutting儿子的黄色大象玩具的名字 目前最新稳定版本2.6.0
NodeManager
单个节点上的资源管理 处理来自ResourceManager的命令 处理来自ApplicationMaster的命令
ApplicationMaster
数据切分 为应用程序申请资源,并分配给内部任务 任务监控与容错
Hadoop YARN运行流程分析
多租户资源调度器
支持资源按比例分配 支持层级队列划分方式 支持资源抢占
Hadoop YARN资源隔离方案 支持内存和CPU两种资源隔离
内存是一种“决定生死”的资源 CPU是一种“影响快慢”的资源
内存隔离
基于线程监控的方案 基于Cgroups的方案
CPU隔离
ResourceManager
基于ZooKeeper实现HA。
NodeManager
失败后,RM将失败任务告诉对应的AM; AM决定如何处理失败的任务。
ApplicationMaster
失败后,由RM负责重启; AM需处理内部任务的容错问题; RMAppMaster会保存已经运行完成的Task,重启后无需重新运 行。
主要内容 1
Hadoop介绍
Hadoop原理 Hadoop YARN产生的背景
2 3
4 5 6
Hadoop YARN基本架构
运行在YARN上的基本框架 YARN 发展趋势
Hadoop YARN基本架构
Hadoop YARN各模块组成
ResourceManager
处理客户端请求 启动/监控ApplicationMaster 监控NodeManager 资源分配与调度
默认不对CPU资源进行隔离 基于Cgroups的方案
Hadoop YARN资源调度语义 支持的语义
请求某个特定节点/机架上的特定资源量 将某些节点加入(或移除)黑名单,不再为自己分配这些节点上 的资源 请求归还某些资源
不支持的语义
请求任意节点/机架上的特定资源量 请求一组或几组符合某种特质的资源 超细粒度资源 动态调整Container资源
MapReduce原理
Mapoop介绍
Hadoop原理 Hadoop YARN产生的背景
2 3
4 5 6
Hadoop YARN基本架构
运行在YARN上的基本框架 YARN 发展趋势
Hadoop YARN产生背景
直接源于MRv1在几个方面的缺陷
扩展性受限 单点故障 难以支持MR之外的计算
Stage 4
output
input
Stage 1
Stage 2 Stage 3
Stage N
output
YARN应用程序类型
长应用程序和短应用程序 长应用程序 Service、HTTP Server等 短应用程序 MR job、Spark Job等
以YARN为核心的生态系统
运行在YARN上的计算框架
Task
Container
Client
Node Manager
① ④ Resource Manager ② Node Manager
⑥
Task
Container
⑤
Application Master
③ ⑤
Client
Client Node Manager ⑥
⑤
Task
Container
Hadoop YARN容错
什么是大数据
• 数据集主要特点
Volume: 数量量从TB到PB级别 Variety: 数据类型复杂,超过80%的数据是非结构化的 Velocity:数据量在持续增加(两位数的年增长率) Value:巨大的数据价值