Hadoop学习总结
创始人
2024-04-04 04:08:37

HDFS YARN MapReduce关系

在这里插入图片描述

HDFS (分布式文件系统)

优缺点

优点

1. 高容错性:副本丢失,可以自动回复。
2. 适合处理大数据
3. 可以构建在廉价的机器上,通过对多副本机制,提高可靠性

缺点

1. 不适合低延时数据访问,比如毫秒级的存储数据,做不到
2. 无法高效的对大量小文件进行存储: 存储大量小文件,会占用NameNode大量的内存来存储文件目录和块信息。NameNode内存有限。小文件存储的寻址时间会超过读取时间。
3. 不支持并发写入,文件随机修改。 a. 一个文件只能由一个写,不允许多个线程同时写。b. 仅支持数据append,不支持文件的随机修改。

组成

NameNode(nn)

存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间 ,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等。
1. Fsimage文件:HDFS文件系统元数据的一个永久性检查点,其中包含了HDFS文件系统的所有目录和文件inode的序列化信息。
2. Edits文件:存放HDFS文件系统的所有更新操作的路径,文件系统客户端执行的所有写操作首先会被记录到此。
3. seen_txid文件保存了一个数字,就是最后一个edits_的数字。最新的edits文件。

DataNode(dn)

在本地文件系统存储文件块数据,以及块数据的校验和。

工作机制

在这里插入图片描述

DataNode数据的完整性

1. 当DataNode读取Block时候,会计算CheckSum.
2. 如果计算后的CheckSum和Block创建的时候值不一样,说明Block已经损坏。
3. Client回去读取其他DataNode上的Block
4. 常见的校验算法:crc(32) ,md5(128),shal(160)
5. DataNode在其文件创建后周期性验证CheckSum.

在这里插入图片描述

Secondary NameNode(2nn)

每隔一段时间对NameNode元数据备份

工作流程

在这里插入图片描述

引入2NN的原因

1. NameNode中的元数据需要放到内存中,这样效率高,但是断电后,元数据丢失。因此产生在磁盘中备份元数据的FsImage。
2. 引入Edits文件(只进行追加操作,效率很高)。每当元数据有更新或者添加元数据时,修改内存中的元数据并追加到Edits中。
3. 长时间添加数据到Edits中,会导致该文件数据过大,效率降低,而且一旦断电,恢复元数据需要的时间过长。因此需要定期进行FsImage和Edits的合并,如果这个操作由NameNode节点完成,又会效率过低。因此,引入一个新的节点SecondaryNamenode,专门用于FsImage和Edits的合并。
其中edits_oo1是拉取之前的操作edits_inprogress_002是拉取之后进行的操作,因此从2NN更新完以后到NN上的数据结合002是最新的数据

读流程

在这里插入图片描述

(1)客户端通过DistributedFileSystem向NameNode请求下载文件,NameNode通过查询元数据,找到文件块所在的DataNode地址。
(2)挑选一台DataNode(就近原则,然后随机)服务器,请求读取数据。
(3)DataNode开始传输数据给客户端(从磁盘里面读取数据输入流,以Packet为单位来做校验)。
(4)客户端以Packet为单位接收,先在本地缓存,然后写入目标文件。

写流程

在这里插入图片描述

(1)客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。
(2)NameNode返回是否可以上传。
(3)客户端请求第一个 Block上传到哪几个DataNode服务器上。
(4)NameNode返回3个DataNode节点,分别为dn1、dn2、dn3。
(5)客户端通过FSDataOutputStream模块请求dn1上传数据,dn1收到请求会继续调用dn2,然后dn2调用dn3,将这个通信管道建立完成。
(6)dn1、dn2、dn3逐级应答客户端。
(7)客户端开始往dn1上传第一个Block(先从磁盘读取数据放到一个本地内存缓存),以Packet为单位,dn1收到一个Packet就会传给dn2,dn2传给dn3;dn1每传一个packet会放入一个应答队列等待应答。
(8)当一个Block传输完成之后,客户端再次请求NameNode上传第二个Block的服务器。(重复执行3-7步)

YARN(资源调度器)

组成

1. ResourceManager(RM) 主要作用(整个集群资源(cpu,内存)老大)a. 处理客户端请求b.监控NodeManagerc.启动或监控ApplicationMasterd.资源的分配和调度2. NodeManager(NM)主要作用(单个节点服务器资源的老大)a. 管理单个节点上的资源b.处理来自ResourceManager的命令c.处理来自ApplicationMaster的命令3. ApplicationMaster(AM) 作用(单个任务运行的老大)a. 为应用程序申请资源并分配给内部的任务b. 任务的监控与容错4. 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申请注销自己。

三种调度器的

先进先出调度器(FIFO)

单队列,根据提交作业的先后顺序,先来先服务。

容量调度器(Apache hadoop 默认)

特点

在这里插入图片描述

1. 多队列:每个队列可以配置一定的资源量,每个队列采用FIFO调度策略。
2. 容量保证:管理员可为每个队列设置资源最低保证和资源使用上限。
3. 灵活性:如果一个队列中资源有剩余,可以暂时共享给需要资源的队列,一旦该队列由新的应用提交,则其他队列要归还。
4. 多租户:支持多用户共享集群(如上图的SS和CLS用户)和多应用程序同时运行。对同一用户提交的作业所占资源量进行限定。

容量分配算法

在这里插入图片描述

1. 队列资源分配从root开始,使用深度优先算法,优先选择资源占用率最低的队列分配资源。
2. 作业资源分配默认按照提交作业的优先级和提交时间顺序分配资源
3. 容器资源分配按照容器的优先级分配资源,如果优先级相同,按照数据本地行原则:a.任务和数据在同一节点上b.任务和数据在同一机架上c.任务和数据不再同一节点也不在同一机架上

公平调度器(CDH默认)

特点

在这里插入图片描述

同容量调度器一样。

与容量调度器的不同点

1. 核心调度策略不同容量:优先选择资源利用率低的队列公平:优先选择对资源的缺额比例大的
2. 每个队列可以单独设置资源分配方式

缺额

在这里插入图片描述

1. 公平调度器设计的目标是:在时间尺度上,所有作业获得公平的资源。某一时刻的一个作业应获取资源和实际获取资源的差距叫缺额。
2. 调度器会优先为缺额大的作业分配资源

队列资源分配方式

Fair策略 (默认)

在这里插入图片描述

在这里插入图片描述

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...