其他分享
首页 > 其他分享> > 2021-04-16

2021-04-16

作者:互联网

数据来源:拉钩教育大数据高薪开发训练营

Hadoop学习第二部分:Apache Hadoop的重要组成

Hadoop=HDFS(分布式文件系统)+MapReduce(分布式计算框架)+Yarn(资源协调框架)+Common模块

100T数据如何存储?
“分而治之” 的思想
分:拆分–>数据切割,100T数据拆分为10G一个数据块由一个电脑节点存储这个数据块。

第一节 HDFS

1)HDFS定义

(Hadoop Distribute File System )一个高可靠、高吞吐量的分布式文件系统

2)HDFS结构

主从结构(Master/Slaver):
在这里插入图片描述
分而治之:数据切割、制作副本、分散储存

图中涉及到几个角色:
NameNode(nn):存储文件的元数据,比如文件名、文件目录结构、文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。
SecondaryNameNode(2nn):辅助NameNode更好的工作,用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据快照。
DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验

第二节 MapReduce

1)MapReduce定义

一个分布式的离线并行计算框架
分而治之:拆解任务、分散处理、汇整结果

2)MapReduce结构

MapReduce计算 = Map阶段 + Reduce阶段
Map阶段就是“分”的阶段,并行处理输入数据;
Reduce阶段就是“合”的阶段,对Map阶段结果进行汇总;
在这里插入图片描述

第三节 YARN

1)YARN定义

作业调度与集群资源管理的框架

2)YARN结构

主从结构(Master/Slaver):
在这里插入图片描述
Yarn中有如下几个主要角色,同样,既是角色名、也是进程名,也指代所在计算机节点名称。
ResourceManager(rm):处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度;
NodeManager(nm):单个节点上的资源管理、处理来自ResourceManager的命令、处理来自ApplicationMaster的命令;
ApplicationMaster(am):数据切分、为应用程序申请资源,并分配给内部任务、任务监控与容错。
Container:对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息。
ResourceManager是老大,NodeManager是小弟,ApplicationMaster是计算任务专员。
在这里插入图片描述

第三节 Common

支持其他模块的工具模块(Configuration、RPC、序列化机制、日志操作)
即:其他模块都需要的工具,放到Common中,避免重复定义(JAVA中的common包)

结语

分而治之,将大的问题转换成若干个小的问题,hadoop通过这种方式,能够解决PB级别的数据量;学习生活对待问题的态度,也应该如此。

标签:ApplicationMaster,HDFS,04,16,分而治之,MapReduce,Hadoop,2021,数据
来源: https://blog.csdn.net/Zerorhero/article/details/115759032