1.Hadoop组成
Hadoop主要由HDFS(分布式文件系统) , MapReduce(分布式计算框架) , YARN(资源管理器) 这三个核心组件构成
1.1 HDFS概述
HDFS,全名为Hadoop Distributed File System,是一个hadoop分布式文件系统,用于文件存储。
HDFS含有三个服务,分别为NameNode,DataNode,Secondary NameNode
1.NameNode (NN):元数据节点
• NameNode 是HDFS的“大脑”,存储文件的元数据,如文件名,位置,大小,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。
• 一个HDFS集群只有一个Active的NameNode
2.DataNode (DN):数据节点
• 数据存储节点,保存和检索Block
• 一个集群可以有多个数据节点
3.Secondary NameNode (SNN):从元数据节点
• 定期合并NameNode的edit logs(编辑日志)到fsimage(镜像)文件中,以防止编辑日志文件过大影响性能
• 辅助NameNode将内存中元数据信息持久化
• 协助优化性能(即是SNN失效,整个系统仍然可用)
1.2 MapReduce概述
MapReduce,是分布式计算框架。
**设计思路:**分而治之
**组成:**每一个job包含 Map 与 Reduce 两个部分,其中shuffle是包含在map与reduce之间的中间过程。
1.3 YARN概述
YARN,全名为Yet Another Resource Negotiator,是Hadoop的集群资源管理器。
**核心思想:**将资源管理和任务的监控和调度分离.
**由来:**由于Hadoop1.x版本中的问题在于资源问题,主要依靠MapReduce来完成,导致JobTracker压力过大。因此,在Hadoop2.x版本中添加了YARN,用于负责集群资源管理。
2.Hadoop整体认知
1.分布式:
存储:HDFS【hadoop分布式文件系统】(Namenode + Datanode)
计算:MapReduce : map + shuffle + reduce => 慢,但稳定
2.面向于数据(上传|下载文件,创建目录操作):
管理数据
NameNode *2 (Active | Standby *N)【一般为2个左右] => 老大
DataNode *N【可以有多个】 =>小弟
3.面向于服务:
管理资源和任务
YARN:
ResourceManager:管资源(CPU,MEM,DISK…) =>老大
applicationManager:管任务(计算) =>老大
nodemanager *N【可以有多个】 =>小弟