一、Hadoop HDFS
Hadoop Distribute File System 一个高可靠、高吞吐量的分布式文件存储系统。
采用“分而治之”思想:
比如100T数据,分:拆分--》数据切割,100T数据拆分为10G一个数据块由一个电脑节点存储这个数据块。
数据切割、制作副本、分散存储
一个大数据被切分成多个数据块,存储在多个DataNode上。
NameNode(nn):存储文件的元数据,比如文件名、文件目录结构、文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。
DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验。
SecondaryNameNode(2nn):辅助NameNode更好的工作,用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据快照。
二、Hadoop MapReduce
一个分布式的离线并行计算框架。
拆分任务、分散处理、汇整结果
MapReduce计算 = Map阶段 + Reduce阶段
Map阶段就是“分”的阶段,并行处理输入数据。
Reduce阶段就是“合”的阶段,对Map阶段结果进行汇总。
三、Hadoop Yarn
作业调度与资源管理的框架。
ResourceManager(rm):处理客户端的请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度。
NodeManager(nm):单节点上的资源管理、处理来自ResourceManager的命令、处理来自ApplicationMaster的命令。
ApplicationMaster(am):数据切分、为应用程序分配资源,并分配给内部任务、任务监控与容错。(相当于rm的秘书~~)
Container:对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行的相关资源。
总结:rm是老大,nm是小弟,am是计算任务专员。
四、Hadoop Common
支持其他模块的工具模块(Configuration、RPC、序列化机制、日志操作)。
总结:
复习还是很有作用的,第一遍听老师讲课记笔记时那种“陌生大于熟悉”的感觉变成了“熟悉大于陌生”,哈O(∩_∩)O哈哈~