ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【图解大数据技术】Hadoop、HDFS、MapReduce、Yarn [打印本页]

作者: 圆咕噜咕噜    时间: 2024-7-26 08:32
标题: 【图解大数据技术】Hadoop、HDFS、MapReduce、Yarn
Hadoop

Hadoop是Apache开源的分布式大数据存储与盘算框架,由HDFS、MapReduce、Yarn三部分构成。广义上的Hadoop实在是指Hadoop生态圈,包括的组件就不但是HDFS、MapReduce、Yarn,还包括Spark、Flink、Zookeeper、Sqoop、Hive、HBase等工具,但是我们讨论的不是Hadoop生态圈。

由于要办理大数据量的存储和盘算问题,因此数据不能再存储在关系型数据库,而是存储在分布式文件体系HDFS中;然后通太过布式离线盘算框架MapReduce举行盘算;而Yarn则是负责资源调理,也就是决定盘算使命调理到哪些节点上执行。

HDFS

HDFS是一个分布式文件体系,用于存储海量的文件数据。其优点是可以存储达PB级别的文件数据,百万级别以上的文件数目;而缺点则是不适合低延时数据访问,并且不支持文件修改,只支持追加。
HDFS架构


HDFS一共由四部分构成:Client、NameNode、DataNode、SecondaryNameNode。

写文件流程

文件写入流程如下:

客户端在上传文件时会举行文件切割,把文件切割成一个一个的数据块block,然后分别上传每个数据块;上传每个数据块时,询问NameNode得知该数据块传输到哪些DataNode上;然后根据NameNode返回结果,上传数据块到DataNode。
读文件流程

文件读取流程如下:

NameNode记载了文件元数据信息,比如哪个block存储在哪些DataNode。Client读取文件时,请求NameNode获取元数据信息,就可以根据元数据信息请求对应的DataNode读取对应的每个block。
MapReduce

MapReduce简介

MapReduce是一个分布式离线盘算框架,专门用于处理大数据场景中与及时性无关的一些离线盘算使命。

MapReduce的数据输入一般是HDFS,然后经过InputFormat举行输入格式化,变成<K,V>格式;然后执行用户实现的Mapper范例的map方法,举行数据映射,映射处理的结果也是<K,V>格式;然后执行一个shuffle过程,对映射结果举行按key举行分组分区,把同一区域的所有KV发送到同一个Reducer,由一个节点举行;Reducer对同一个key分组下的所有value举行聚合操纵;然后Reducer的输出结果再经过OutputFormat举行格式化处理后举行结果输出。
MapReduce整体流程

下面是MapReduce运行的整体流程:

Yarn

Yarn是负责资源调理的,由Yarn管理每个Node节点然后举行使命分派,也就是把MapTask和ReduceTask分配给对应的Node。

yarn有ResourceManager和NodeManager两角色。ResourceManager负责监控NodeManager,吸收客户端提交的job,然后举行资源分配调理;NodeManager负责管理单个节点上的资源,并执行ResourceManager的命令,启动并运行相应的MapTask和ReduceTask。

然而真正举行使命分配的并不是ResourceManager,ResourceManager每吸收一个job,会选一个NodeManager来启动一个ApplicationMaster,由ApplicationMaster向ResourceManager申请资源并发送使命和启动脚本到对应的NodeManager。
而task都是在Container中运行,Container是节点资源的抽象(比如cpu、内存等),也就是限制了该task只能使用这么多资源,避免一个task占满整个node的所有资源。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4