概念梳理

hadoop1.x和hadoop2.x区别

1.Hadoop1.X就是第一代Hadoop,由分布式存储系统HDFS和分布式计算框架MapReduce组成,其中HDFS由一个NameNode和多个DateNode组成,MapReduce由一个JobTracker和多个TaskTracker组成
2.Hadoop2.0即第二代Hadoop。
hadoop2中可以让多个NameNode分管不同的目录进而实现访问隔离和横向扩展,彻底解决了NameNode单点故障问题;Hadoop2中引入了资源管理框架Yarn。。同时Yarn作为Hadoop2.0中的资源管理系统,它是一个通用的资源管理模块,可为各类应用程序进行资源管理和调度,不仅限于MapReduce一种框架,也可以为其他框架使用,如Tez、Spark、Storm等

2.HDFS组成架构及其作用

  • Hadoop Distributed File System (HDFS):分布式文件系统

  • HDFS组成有:namenode,datanode,SecondaryNamenode

  • Hdfs存储形式:存储在HDFS上的文件是以块(block)的形式存储的,Hadoop2.x的版本中默认块的大小是128M。

  • HDFS本质上来将就是用来存储数据和上传数据下载数据用的

  • Namenode(NN):主节点,存储文件的元数据(文件名,文件目录结构,文件属性(生成时间,副本数,文件权限等))

    DataNode(DN):在本地文件系统存储文件数据,以及块数据的校验和(长度、创建时间、CRC32校验和)。

    SecondaryNameNode(SNN):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。定时的将NameNode的镜像文件和编辑日志文件合并为一个文件,叫做新镜像文件。辅助NameNode,分担其工作量,比如定期合并Fsimage和Edits,并推送给NameNode;
    在紧急情况下,可辅助恢复NameNode

在这里插入图片描述HDFS的上传流程
在这里插入图片描述HDFS的下载流程
在这里插入图片描述

3.yarn组成和作用

a)Yarn主要由ResourceManager、NodeManager、ApplicationMaster、和Container组成。
1)ResourceManager的作用如下:

1.处理客户端的请求
2.监控NodeManager
3.启动或监控ApplicationMaster
4.资源分配与调度

2)NodeManager的作用如下:

1.管理单个节点上的资源
2.处理来自ResourceManager的命令
3.处理来自ApplicationMaster的命令

2)ApplicationMaster的作用如下:

1.负责数据的切分
2.为应用程序申请资源并分配给内部的任务
3.任务的监控与容错

4)Container的作用:

1.Container是Yarn中的资源抽象,它封装了某个节点上的多维资源,如内存、CPU、磁盘、网络等。

(1)MR程序提交到客户端所在的节点。

(2)YarnRunner向ResourceManager申请一个Application。

(3)RM将该应用程序的资源路径返回给YarnRunner。

(4)该程序将运行所需资源提交到HDFS上。

(5)程序资源提交完毕后,申请运行mrAppMaster。

(6)RM将用户的请求初始化成一个Task。

(7)其中一个NodeManager领取到Task任务。

(8)该NodeManager创建容器Container,并产生MRAppmaster。

(9)Container从HDFS上拷贝资源到本地。

(10)MRAppmaster向RM 申请运行MapTask资源。

(11)RM将运行MapTask任务分配给另外两个NodeManager,另两个NodeManager分别领取任务并创建容器。

(12)MR向两个接收到任务的NodeManager发送程序启动脚本,这两个NodeManager分别启动MapTask,MapTask对数据 分区排序。

(13)MrAppMaster等待所有MapTask运行完毕后,向RM申请容器,运行ReduceTask。

(14)ReduceTask向MapTask获取相应分区的数据。

(15)程序运行完毕后,MR会向RM申请注销自己。

4.MapReduce组成和作用

MapReduce是一个分布式运 算程序的编程框架,是用户开发“ 基于Hadoop的
数据分析应用”的核心框架。

MapReduce包含四个组成部分,分别为Client,JobTracker,TaskTracker,Task。

MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个
完整的分布式运算程序,并发运行在一个Hadoop集群 上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值