目录
Hadoop版本区别
1.x
MapReduce(计算+资源调度)
HDFS(资源存储)
Common(辅助工具)
2.x
MapReduce(计算)
Yarn(资源调度)
HDFS(资源存储)
Common(辅助工具)
3.x
组成上没有变化
HDFS
HDFS本质是一个分布式文件系统,由NameNode,DataNode,Sencondery NameNode组成
NameNode
存储文件的元数据,如文件名,目录结构,文件属性以及每个文件的块列表和块所在的DataNode等。
DataNode
在本地文件系统存储文件块数据,以及块数据的校验和
2NN
每隔一段时间对NameNode进行元数据备份
YARN
负责的是资源,内存的调度
ResourceManager
整个集群资源(内存,CPU等)的老大。
NodeManager
单个节点服务器资源的老大。
ApplicationMaster
单个任务运行的老大,任务在容器里面运行。
Container
容器,相当一台独立的服务器,里面封装了任务运行所需要的资源,如内存,CPU,磁盘,网络等。
MapReduce
MapReduce将计算过程分为两个阶段:Map和Reduce,上层有Hive来进行数据查询
Map
并行处理输入数据
HDFS和YARN和MapReduce三者关系
客户端向YRAN的ResourceManager发起请求,ResourceManager分配到一个NodeManager里,由它开启一个Container并在里面运行一个ApplicationMaster,然后ApplicationMaster向ResourceManager申请对应的资源,它再分配到不同DataNode上的MapTask,最后把所有的结果再写到磁盘上,就是Reduce阶段。
数据处理对应框架
数据库里存储的结构化数据
Sqoop数据传递,存储在HDFS中,由YARN调度
文件日志(半结构化数据)
Flume日志收集,存储在HDFS中,由YARN调度
视频,PPT等非结构化数据
Kafka消息队列