Hadoop1.x、Hadoop2.x、Hadoop3.x区别
Hadoop1.x组成:
Hdfs(数据存储)
Common(辅助工具)
MapReduce(计算+资源调度)
Hadoop2.x组成:
HDFS(数据存储)
Common(辅助工具)
Yarn(资源调度)
Mapreduce(计算)
在Hadoop1.x时代,Hadoop中的MapReduce同时处理业务逻辑运算和资源的调度,耦合性较大
在Hadoop2.x时代,增加了Yarn,Yarn只负责资源的调度,Mapreduce只负责运算。
Hadoop3.x在组成上没有变化
HDFS架构概述
Hadoop Distributed FileSystem,简称HDFS,是一个分布式文件系统
Namenode(NN):记录每一个文件块存储的位置
存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等
Datanode(DN):具体存储数据,在本地文件系统存储文件块数据,以及块数据的校验和
2NN(Secondary NameNode):辅助Namenode工作,每隔一段时间对Namenode元数据备份
Yarn架构概述
Yet Another Resource Negotiator简称YARN,另一种资源协调者,是Hadoop的资源管理器
主要管理的就是CPU和内存
ResourceManager(RM):
整个集群资源(内存,CPU等)的老大
NodeManager(NM):单个节点服务器资源老大
Container:容器,相当一台独立的服务器,里面封装了任务运行所需要的资源,如内存,CPU,磁盘,网络等
ApplicationMaster(AM):单个任务运行的老大,任务在Container里面运行,用完就可以释放,更灵活
说明:
客户端可以有多个
集群上可以运行多个ApplicationMaster
每个NodeManager上可以有多个Container
到底可以运行多少个:
一个Container容器默认内存是1-8G
Mapreduce架构概述
Mapreduce将计算过程分为两个阶段:Map和Reduce
Map阶段并行处理输入数据
Reduce阶段对Map结果进行汇总