Hadoop2.x的解析和Yarn模块解析

 

南  阳  理  工  学  院

 

 


 

 

 

目    录

1  绪论 1

1.1 介绍hadoop 1

1.2 本章小结 1

2  Hadoop的简介 2

2.1 Hadoop的介绍 2

2.2 本章小结 .2

3  Hadoop2.x 3

3.1 Hadoop2.x的四大模块 3

3.1.1 Hadoop Common 3

3.1.2 HDFS 3

3.1.3 Hadoop Yarn 4

3.1.4 Hadoop MapReduce 4

3.2 用Eclipse连接Hadoop,并进行WordCount实例解析 6

3.3 Hadoop2.x的其他成员模块介绍 7

    3.3.1 Zookeeper 7

    3.3.2 Habase 7

    3.3.3 Hive 7

    3.3.4 Sqoop 7

    3.3.5 Flume 7

3.4 Hadoop的优缺点 9

       3.4.1 优点 9

       3.4.2 优点 9

3.5 本章小结 10

4  Yarn成员 10

4.1 Yarn的介绍 10

4.2 Yarn的模块功能 11

4.3 Hadoop2.xhdfs+yarn框架 12

4.4 Yarn的架构解析 13

4.5 本章小结 16

4.6我的Hadoop环境展示 17

6 结束语 18

参考文献 19

致谢 20

 

1 绪论

1.1介绍Hadoop

随着科技发展,服务业的兴起,越来越多的数据产生了。服务业兴盛的时代,每个人的信息都几乎是裸露的,否则商家凭什么提供给你高效率的服务,于是每分每秒,从我们身上所散发出来的信息都在被收集捕捉着。那么这么多的信息要怎样对他进行较高效率的处理呢?不可能是传统的几台服务器和存储,那是远远不够的。

网络上有一句话:谁说大象不能跳舞?  当然,对于传统的认知,大象的笨重体态是舞不了的,不过抽象来看,如果可以将某种笨重而庞大的事物变得灵活起来,不就恰似使得大象舞动起来了吗?不错,对于大量数据的处理,催生了Hadoop,他就是能够处理海量数据的一种工具。它的logo呢是一只黄色的大象,他是apache公司的一种开源的分布式平台,在此,本文不讨论或者论述Hadoop是系统还是软件问题,我姑且把他称为一种工具。一种能够将大象培训成舞者的工具。

Hadoop的设计是针对海量数据的,所以它的延迟性也就较高,对于非常小的数据,并不适合,对于客户需要交互的低延迟性的也不能满足。Hadoop本身具有很高的冗余性。有所得到就会有所牺牲,因为hadoop是安装在廉价的普通集群上的,一些机器很容易就有问题或是宕机了,hadoop为了的保证数据的安全性,存储时每份数据都会默认进行分割,每相同的一块都会进行三份复制,这就相当于牺牲了相当大量的硬盘进行存储。

Hadoop自从研发以来有两个系列的发展,Hadoop1.x和Hadoop2.x系列,目前为止Hadoop2.x更加流行,它是基于Hadoop1.x系列的完善和优化版本,相比于1.x的版本,Hadoop2.x版本的系统架构则更加合理和完善,具有更多的成员组件,尤其是Hadoop Yarn的体系架构,使Hadoop2.x系列明显优于Hadoop1.x系列,本文会在Hadoop的章节介绍后更为细致的介绍Hadoop Yarn的功能以及它的工作成员和细节。

那么,我们就正式开始介绍hadoop2.x系列里他的得力成员yarn。

1.2本章小结

    本章主要介绍Hadoop的主要发展前景,和生活的需要服务,以及功能的前言简介,和Hadoop的Yarn成员的介绍。我们通过这个简单的介绍可以基本知道Hadoop给生活带来的改变,对服务业带来的效率。以及作为学生的我们应该对Hadoop的进行钻研学习。跟进科技的发展脚步,不被社会发展所困惑,与时俱进。

2. Hadoop的简介

2.1 Hadoop的介绍

首先Hadoop的起源是什么呢?

Apache hadoop 起源

    Apache lucene(高性能全文检索工具包)---->apache nutch(开源的web搜索引擎)----->Google 三大论文 mapreduce/Gfs/BigTable ------->apache Hadoop (大规模数据处理)

Hadoop是用来干什么的呢?

处理海量数据:量的大, 多, PB --ZB

|------>存储: 分布式, 集群的概念, 管理(主节点, 从节点),

| HDFS (hadoop distributed Filesystem)

|------>分析: 分布式, 并行,离线并行的计算框架,管理(主,从节点)对应mapreduce

Hadoop的特点以及思想

    扩容能力--->成本低---->高效率------>可靠性

HDFS + Mapreduce 思想

|------>尽可能移动计算到数据端,而非移动数据到计算端

|------>硬件和组件的故障是一种常态

HDFS 思想

|------>文件单次写入,并多次读取,文件副本分片保存

|------>顺序写入,流式顺序读取,面向大文件存储

Hadoop的分类还是比较清晰的,总体来说有hadoop1.x系列和hadoop2.x系列的内核:

Hadoop1.0|-->hadoop common

         |-->Hadoop Distributed File System

         |-->Hadoop MapReduce

Hadoop2.0|-->Hadoop Common

  |-->Hadoop Distributed File System

    |-->Hadoop MapReduce

  |-->Hadoop Yarn

2.2 本章小结

    Hadoop1.x系列的框架就不多说了hadoop common里面放置一些其他类共享的一些类和框架等,因为现在的主流是Hadoop2.x系列。那么Hadoop2.x系列相对比Hadoop1.X系列优越在哪里呢?这个问题我会在全文中不定的指出。然后

跟着我的脚步,让我们一步一步走进这头会飞的大象的家族吧。

3. Hadoop2.x

 Hadoop2.x的解析和Yarn模块解析_第1张图片


图 3-1 Hadoop2.x的生态组成

3.1 Hadoop2.x项目的四大模块

3.1.1 Hadoop Common

    为了支持其他模块的一些公共类,和框架。

3.1.2 HDFSHadoop Distributed File System

 

Hadoop2.x的解析和Yarn模块解析_第2张图片

图 3-2 HDFS架构图

    Hdfs提供高吞吐量的访问能力 , 用来存储数据。具有高容错性,高伸缩性的优点,允许用户将hadoop部署在廉价的硬件上,构建分布式系统。如图3-2是HDFS的存储图,Hdfs具有横向扩展性,布置单节点的hadoop时候,最小模型是一台master主机和两台slaver节点。如果要扩展datenode节点,只需要在准备好的虚拟机上面拷贝一份hadoop文件,然后导入master的公钥,最后修改一下配置文件(slaver文件,里面加入节点名字。在/etc/hosts文件里加入主机名和要求节点的ip)。

3.1.3 Hadoop Yarn 云的操作系统

 Hadoop2.x的解析和Yarn模块解析_第3张图片

图 3-3 Yarn的架构图

    给部署在yarn上的应用,分配资源,管理资源。(任务调度)job / application 调度。Yarn的架构图如图3-3(mapreduce跑在yarn系统上)。下边有更为详细的解析,这里只简单说明。

3.1.4 Hadoop Mapreduce

 Hadoop2.x的解析和Yarn模块解析_第4张图片


图 3-4 MapReduce系统架构图

    如图3-4是介绍基于yarn系统的并行的处理大数据的框架,Mapreduce担当并行的计算分析任务。允许用户在不了解分布式系统底层细节的情况下开发并行,分布式的应用程序。Map和reduce,map是映射,reduce是规约。我用自己的理解方式说,Map就是一种映射计算,让我们知道数据块的位置属性等,Reduce就是一种各种数据块分别求和的方式。以wordcount为例,在map阶段,map函数在每个单词后面加上一个1, 在reduce阶段,reduce函数将相同单词后面的1都加起来。其中hadoop框架实现过程中的排序,分配等如图3-5和图3-6,当然这些也可以通过自定义的函数来控制。

Hadoop2.x的解析和Yarn模块解析_第5张图片


图 3-5 MapReduce 计算逻辑图

 Hadoop2.x的解析和Yarn模块解析_第6张图片

图 3-6 MapReduce 思想原理图

3.2用Eclipse连接Hadoop,并进行WordCount实例解析

 Hadoop2.x的解析和Yarn模块解析_第7张图片

图 3-7 eclipse 连接Hadoop

    这种方式比较清晰,能够更为直观地了解mapreduce的工作。图3-7是一张截图,我们可以看到一些嵌套的文件夹,那是实验存储的一些东西。

    首先,用eclipse连接上自己的hadoop这里需要一个名字是hadoop-eclipse-plugin-2.6.0.jar的插件对应自己的hadoop版本自己下载。然后将插件放置到eclipse\plugins文件夹下。打开eclipse新建一个Map/Reduce project,

打开windows---->preferences,点击Hadoop Map/Reduce,将本地的hadoop目录添加上去。然后启动hadoop,在eclipse下方会出现一个黄色的小象标志,右击配置它,配置内容视情况而定,可以百度参考。Map/Reduce Master设置Host和Port对应的是你hadoop安装目录下conf下mapred-site.xml文件设置的host和port,右边的 DFS Master对应的是core-site.xml.如果core-site.xml下只有localhost而没有端口号,默认的就是8020.设置好后 finish。然后就能在eclipse里面浏览并操作HDFS了。

    (windows10系统不可以连接到服务器上的hadoop,我经过很长时间的百度,没发现。而换了一套系统就ok了,不能连接的提示是IOException的抛出异常。这种异常一是出现在网络问题,二是写入异常,在于源码,事实证明这两项都没问题,经过询问,应该是windows10的字节码转换有一些问题)。

    然后在刚才的Map/Reduce 工程里新建一个class。我们可以在hadoop文件夹里找到WordCount.java这个源码。在建立的WordCount.java上面右键,Run as->run configurations,在左边的java application右键New,配置arguments文件路径就是自己的output在hadoop上的路径。要确保HDFS中不存在output目录,否则会抛出异常。

    最后run as hadoop,就可以自动生成一些文件,统计好数据的文件在count下的part-r-00000里面,正如上图那样。Wordcount可以轻松统计大量的数据集,并给它们进行排序。

3.3 Hadoop2.x的其他成员模块介绍

    Zookeeper担任三种角色,领导者,学习者,客户端,主要是一种协调hadoop的机制。

|---领导者负责投票的发起和决议,更新系统状态。

|---学习者--|--跟随者--用于接收客户端的请求并向客户端返回 结点,在选过程中负责参与投票

   |--观察者--可以接受客户端的连接,将写请求转发给 领导者,但观察者不参与投票,只同步领导者状态。 目的是扩展系统,提高读取速度。

|---客户端--|--请求发起方

    Hbase 结构化分布式非关系数据库,BigTable的开源实现。

    Hive  Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 是一种底层封装了Hadoop 的数据仓库处理工具,使用类SQL HiveQL 语言实现数据查询,所有Hive 的数据都存储在Hadoop 兼容的文件系统(例如,Amazon S3HDFS)中。Hive 在加载数据过程中不会对数据进行任何的修改,只是将数据移动到HDFS Hive 设定的目录下。

    sqoop将关系型数据库中的数据与HDFSHDFS文件, HBase中表, Hive表)上的数据进行相互的导入和导出。是数据库ETL工具 >>提取----转换-----加载。。。。从数据库中获取数据,并经过一系列的数据清理和筛选。将合格的数据进行转换成为一定的格式数据进行存储。将格式化的数据存储到HDFS文件系统上,以供计算框架进行数据分析和挖掘。

格式化数据:|

            |------TSV格式:每行数据的每列之间以制表符\t进行分割

            |------CSV格式:每行数据的每列之间以制表符‘,逗号’进行分割。

    Flume 收集日志工具,收集各个应用系统和框架的日志,将其放到HDFS分布式文件系统的相应制定的目录下。

3.4 Hadoop的优缺点
3.4.1优点:
(1)高可靠性:Hadoop按位存储和处理数据的能力值得人们信赖;
(2)高扩展性:Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
(3)高效性:Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
(4)高容错性:Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
3.4.2 缺点:
(1)不适合低延迟数据访问,hadoop本身的机制原因,他的延迟性较高。

无法高效存储大量小文件,因为hadoop的块存储中,每一块大小是128Mb,也就是说对于小文件是积极浪费的。
(2)不支持多用户写入及任意修改文件。文件一旦写入,要么对文件进行补块解释,要么删除,重新写入。

3.5 本章小结

    Hadoop2.x里面的成员各司其职,相互配合组成了相当成熟的体系架构,对大数据进行计算分析。在外部,用eclipse对Hadoop进行连接和对接,更加直观的查看Hadoop存储文件,也可以使用浏览器进行访问。其中WordCount实例是最简单的MapReduce的利用实例,我们应该进行了解和掌握。Hadoop的存储单元HDFS犹如一个分布式硬盘,HBase又能够方便的处理数据库存储文件等等,那么谁来控制整个框架的资源调度呢?接下来本文会介绍一下Yarn。

4. Yarn成员

4.1 Yarn的介绍

    YARN的基本思想是将JobTracker的两个主要功能(资源管理和 作业调度/监控)分离,主要方法是创建一个全局的ResourceManager(RM)和若干个针对应用程序的 ApplicationMaster(AM)。这里的应用程序是指传统的MapReduce作业或作业的DAG(有向无环图)。

    YARN 分层结构的本质是 ResourceManager。这个实体控制整个集群并管理应用程序向基础计算资源的分配。ResourceManager 将各个资源部分(计算、内存、带宽等)精心安排给基础 NodeManager(YARN 的每节点代理)。ResourceManager 还与 ApplicationMaster 一起分配资源,与 NodeManager 一起启动和监视它们的基础应用程序。在此上下文中,ApplicationMaster 承担了以前的 TaskTracker 的一些角色,ResourceManager 承担了 JobTracker 的角色。

    ApplicationMaster 管理一个在 YARN 内运行的应用程序的每个实例。   ApplicationMaster 负责协调来自 ResourceManager 的资源,并通过 NodeManager 监视容器的执行和资源使用(CPU、内存等的资源分配)。请注意,尽管目前的资源更加传统(CPU 核心、内存),但未来会带来基于手头任务的新资源类型(比如图形处理单元或专用处理设备)。从 YARN 角度讲,ApplicationMaster 是用户代码,因此存在潜在的安全问题。YARN

ApplicationMaster 存在错误或者甚至是恶意的,因此将它们当作无特权的代码对待。

    NodeManager 管理一个 YARN 集群中的每个节点。NodeManager 提供针对集群中每个节点的服务,从监督对一个容器的终生管理到监视资源和跟踪节点健康。MRv1 通过插槽管理 Map 和 Reduce 任务的执行,而 NodeManager 管理抽象容器,这些容器代表着可供一个特定应用程序使用的针对每个节点的资源。YARN 继续使用 HDFS 层。它的主要 NameNode 用于元数据服务,而 DataNode 用于分散在一个集群中的复制存储服务。

    要使用一个 YARN 集群,首先需要来自包含一个应用程序的客户的请求。ResourceManager 协商一个容器的必要资源,启动一个 ApplicationMaster 来表示已提交的应用程序。通过使用一个资源请求协议,ApplicationMaster 协商每个节点上供应用程序使用的资源容器。执行应用程序时,ApplicationMaster 监视容器直到完成。当应用程序完成时,ApplicationMaster ResourceManager 注销其容器,执行周期就完成了。

4.2 Yarn的模块功能

ResourceManager

1)处理客户端的请求

2)启动和监控ApplicationMaster

3)监控NodeManager

4)资源分配与调度

NodeManager

1)单个节点上的资源管理

2)处理来自ResourceManager的命令

3)处理来自ApplicationMaster的命令

ApplicationMaster

1)数据的切分,在1.x系列里每个切块大小是64M,在2.x系列里是128M

2)为应用程序申请资源,并分配给内部任务

3)任务的监控和容错

Container

(1)对任务运行环境的抽象,封装了cpu,内存等多维资源以及环境变量

(2)启动命令等任务运行相关的信息

4.3 Hadoop2.x的Hdfs  +  Yarn的框架

我么知道MRv1存在的主要问题是:在运行时,JobTracker既负责资源管理又负责任务调度,这导致了它的扩展性、资源利用率低等问题。MRv1是围绕着MapReduce进行,并没有过多地考虑以后出现的其它数据处理方式 。按着图4-1左的设计思路,我们每开发一种数据处理方式(例如spark),都要重复实现相应的集群资源管理和数据处理。因此,Yarn就很自然的被开发出来了。Yarn对MRv1的最大改进就是将资源管理与任务调度分离,使得各种数据处理方式能

共享资源管理。

Hadoop2.x的解析和Yarn模块解析_第8张图片

图 4-1 Hadoop1.0和2.0

    Yarn是一种统一资源管理方式,是从MRv1中的JobTracker分离出来的。这样的好处显而易见:资源共享,扩展性好等。
    MRv1与Yarn的主要区别:在MRv1中,由JobTracker负责资源管理和作业控制,而Yarn中,JobTracker被分为两部分:ResourceManager(RM)和ApplicationMaster(AM),如图4-2:

Hadoop2.x的解析和Yarn模块解析_第9张图片

图 4-2 Yarn 的架构图

    从图4-2中,我们可以清晰的看到 ,对于MRv1无论是资源管理里还是任务调度都是有JobTracker来完成得。这导致了,JobTracker负荷太大不便于管理和扩展而对于Yarn,我们看可以清晰地看到资源管理和任务调度被分为了两个部分:RM和AM。

    总体来说,Yarn相当于一套操作系统,用于分配调度整体资源。HDFS既是一种文件格式,又是一种存储的架构。Hdfs在hadoop框架里有存储的担当,相当于计算机硬盘。Hadoop2.x系列比Hadoop1.x系列优越之处就是有了Yarn的结构框架,用来给部署在yarn上的应用,分配资源,管理资源。(任务调度)job / application 调度。

    Hadoop 1.x时代中MapReduce什么事都干,而Hadoop2.x中MapReduce的话则是专门处理数据分析,而YARN则做为资源管理器而存在。我用自己的理解对yarn进行解释,并且是相对于hadoop1.x系列讲,Yarn的出现,从而将Mapreduce剥离或者说是解放出来专门用于数据的计算分析,而任务调度,资源管理则yarn完成,这可是Hadoop1.x系列没有的新的思想,也是进一步的优化吧。

    作业管理由ApplicationMaster实现,而资源管理由新增的管理系统Yarn完成,由于yarn的通用性,yarn也可以作为其他计算框架的资源管理系统,不仅仅限于MapReduceyarn也是其他计算框架的管理平台(例如:spark

4.4  Yarn的架构解析

Hadoop2.x的解析和Yarn模块解析_第10张图片

图 4-3 Yarn的架构图

    Yarn的架构图4-3将JobTracker中的资源管理及任务生命周期管理(包括定时触发及监控),拆分成两个独立的服务,用于管理全部资源的ResourceManager以及管理每个应用的ApplicationMaster,ResourceManager用于管理向应用程序分配计算资源,每个ApplicationMaster用于管理应用程序、调度以及协调 一个应用程序可以是经典的MapReduce架构中的一个单独的Job任务,也可以是这些任务的一个DAG(有向无环图)任务。 ResourceManager及每台机上的NodeManager服务,用于管理那台主机的用户进程,形成计算架构。每个应用程序的 ApplicationMaster实际上是一个框架具体库,并负责从ResourceManager中协调资源及与NodeManager(s)协作执 行并监控任务。

ResourceManager包含两个主要的组件:定时调用器(Scheduler)以及应用管理器(ApplicationManager)。

    定时调度器(Scheduler):定时调度器负责向应用程序分配资源,它不做监控以及应用程序的状态跟踪,并且它不保证会重启由于应用程序本身或硬件出错而执行失败的应用程序。

    应用管理器(ApplicationManager):应用程序管理器负责接收新任务,协调并提供在ApplicationMaster容器失败时的重启功能。

    ApplicationMaster:每个应用程序的ApplicationMaster负责从Scheduler申请资源,以及跟踪这些资源的使用情况以及任务进度的监控。

NodeManager:NodeManager是ResourceManager在每台机器的上代理,负责容器的管理,并监控他们的资源使用情况(cpu,内存,磁盘及网络等),以及向 ResourceManager/Scheduler提供这些资源使用报告。

    为了更好 的说明Yarn的资源管理,首先来看下Yarn的框架,如图4-4所示:


Hadoop2.x的解析和Yarn模块解析_第11张图片

图 4-4Yarn的架构图

从图4-4可以看到 ,当客户向RM提交 作业时,由AM负责向RM提出资源申请,和向NameManager(NM)提出task执行 。也就是说 在这个过程中,RM负责资源调度,AM 负责任务调度。几点重要说明:RM负责整个集群的资源管理与调度;Nodemanager(NM)负责单个节点的资源管理与调度;NM定时的通过心跳的形 式与RM进行通信,报告节点的健康状态与内存使用情况;AM通过与RM交互获取资源,然后然后通过与NM交互,启动计算任务。
    下面对上面的内容通过内存资源配置进行详细说明:下面对上面的内容通过内存资源配置进行详细说明:RM的内存资源配置,主要是通过下面的两个参数进行的(这两个值是Yarn平台特性,应在yarn-sit.xml中配置好):
yarn.scheduler.minimum-allocation-mb
yarn.scheduler.maximum-allocation-mb
    说明:单个容器可申请的最小与最大内存,应用在运行申请内存时不能超过最大值,小于最小值则分配最小值,从这个角度看,最小值有点想操作系统中的页。最小 值还有另外一种用途,计算一个节点的最大container数目注:这两个值一经设定不能动态改变(此处所说的动态改变是指应用运行时)。
    NM的内存资源配置,主要是通过下面两个参数进行的(这两个值是Yarn平台特性,应在yarn-sit.xml中配置) :yarn.nodemanager.resource.memory-mb
yarn.nodemanager.vmem-pmem-ratio
    说明:每个节点可用的最大内存,RM中的两个值不应该超过此值。此数值可以用于计算container最大数目,即:用此值除以RM中的最小容器内存。虚 拟内存率,是占task所用内存的百分比,默认值为2.1倍;注意:第一个参数是不可修改的,一旦设置,整个运行过程中不可动态修改,且该值的默认大小是 8G,即使计算机内存不足8G也会按着8G内存来使用。
    AM内存配置相关参数,此处以MapReduce为例进行说明(这两个值是AM特性,应在mapred-site.xml中配置),如下:
mapreduce.map.memory.mb
mapreduce.reduce.memory.mb
    说明:这两个参数指定用于MapReduce的两个任务(Map and Reduce task)的内存大小,其值应该在RM中的最大最小container之间。如果没有配置则通过如下简单公式获得:max(MIN_CONTAINER_SIZE, (Total Available RAM) / containers))一般的reduce应该是map的2倍。注:这两个值可以在应用启动时通过参数改变。AM中其它与内存相关的参数,还有JVM相关的参数,这些参数可以通过,如下选项配置:
mapreduce.map.java.opts
mapreduce.reduce.java.opts
    说明:这两个参主要是为需要运行JVM程序(java、scala等)准备的,通过这两个设置可以向JVM中传递参数的,与内存有关的是,-Xmx,-Xms等选项。此数值大小,应该在AM中的map.mb和reduce.mb之间。
    我们对上面的内容进行下总结,当配置Yarn内存的时候主要是配置如下三个方面:每个Map和Reduce可用物理内存限制;对于每个任务的JVM对大小的限制;虚拟内存的限制。

    在上Yarn的框架管理中,无论是AM从RM申请资源,还是NM管理自己所在节点的资源,都是通过container进行的。Container是Yarn的资源抽象,此处的资源包括内存和cup等。下面对container,进行比较详细的介绍。为了是大家对container有个比较形象的认识,首先看图4-5:

 Hadoop2.x的解析和Yarn模块解析_第12张图片

图 4-5 Yarn的container图

    从图4-5中我们可以看到,首先AM通过请求包ResourceRequest从RM申请资源,当获取到资源后,AM对其进行封装,封装成ContainerLaunchContext对象,通过这个对象,AM与NM进行通讯,以便启动该任务。

最后对container进行如下总结:container是Yarn的资源抽象,封装了节点上的一些资源,主要是CPU与内存;container是AM向NM申请的,其运行是由AM向资源所在NM发起的,并最终运行的。有两类container:一类是AM运行需要的container;另一类是AP为执行任务向RM申请的。

4.5本章小结

    本章主要介绍Yarn的模块,这个模块是Hadoop2.x当中最重要的模块,是负责资源调度的模块,被称为云的操作系统,其重要性可想而而知。本章通过对Yarn工作的过程对Yarn进行了许多解析,我们应该注意到里面的两个成员ResourceManager和DataManager,他们之间的主从配合,给Yarn架构提供保障。这也是Hadoop1.x系列里所没有的。

4.6 我的hadoop环境展示

    下面是我搭建的hadoop分布式环境。因为在服务器上直接布置而不是在本地虚拟机上,所以采用了Xshell远程连接来直观的看到布置成功的结果。图示4-6,图4-7,图4-8。

 Hadoop2.x的解析和Yarn模块解析_第13张图片

图 4-6 master 图

 Hadoop2.x的解析和Yarn模块解析_第14张图片

图 4-7 slaver1

 Hadoop2.x的解析和Yarn模块解析_第15张图片

图 4-8 slaver2

6.结束语

科技在进步,我们的生活质量越来越高,所有人的需求服务也就更加细腻到位。Hadoop只是大数据时代得力的工具之一,还有很多好的云工具,云平台。这个可以按照自己的兴趣爱好自己了解。

科技的迅速发展时代,最重要的就是自己千万不要固步自封,否则绝对被社会所淘汰,被竞争者所战胜。一个好的开放的心态可以帮助人们更加容易的了解知识,并且和自身所了解的知识相互对比,弥补自己在认知上的不足。

21世纪的中国是云计算和大数据的时代,从李克强总理提出的互联网+,到全球互联网大会,云计算和大数据就一直是个焦点问题,每个国家都会为了科技发展贡献一份力量。让我们欢迎我们的云时代。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

参考文献

本论文主要参考了云帆教育的网络视频资料,ChinaUNIX竹子的Yarn简单介绍及内存配置博客,许豪老师的《云计算技术导论》书。还有以下参考:

[1]张戈. 云安全找回渠道价值[N]. 电脑商报,2010-03-08(027).
[2]本报记者 那罡. Web风险让用户重新思考终端安全[N]. 中国计算机报,2009-08-03(040).
[3]张戈周雪. 云安全改变商业模式[N]. 电脑商报,2008-09-15(033).
[4]瑞星系统架构师 钟伟. 云安全——巨大的互联网软件[N]. 中国计算机报,2008-11-24(C03).
[5]那罡. 从云安全到安全云[N]. 中国计算机报,2010-08-02(036).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

致谢

首先,感谢我的指导老师陈可。感谢您的指导。从刚开始的选题,再到确定题目,再到最终开始论文的写作,期间经历了好多,有自己的努力和同学老师的帮助,最终完成这个论文。刚开始我对Hadoop的话题就比较感兴趣,写论文的时候也查看了一些文献。主要是参考了云帆教育的视频资料。

最重要的是要感谢我的父母,感谢他们对我的养育之恩,对我的关心,而且那么的支持我的学习。感谢各位志同道合的同学,给予我的学习上的知识交流。感谢软件学院的各位老师与领导对我的教育与培养,在软件学院,我学习到了很多东西,不仅是学习上的,还有人生上的,这些我都将铭记于心。

 

 

你可能感兴趣的:(云计算,大数据,互联网)