Hadoop
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
组成1.x与2.x区别
| Hadoop1.x | Hadoop2.x | |
| MapReduce (计算+资源调度) | MapReduce(计算) | |
| Yarn(资源调度) | ||
| HDFS(数据存储) | HDFS(数据存储) | |
| Common(辅助工具) | Common(辅助工具) |
在1.x时代,Hadoop中的MapReduce同事处理业务逻辑运算和资源的调度,耦合性较大,在2.x时代,增加了yarn只负责资源的调度,MapReduce只负责运算。
2.x和3.x在结构上没什么区别,
HDFS架构概述--负责海量数据的存储1.NameNode(NN):存储文件的元数据,如,文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的快列表和快所在的DataNode
2.DataNode(DN):在本地文件系统存储文件块数据,以及块数据的校验和
3.SecondNameNode:辅助NN工作,每隔一段时间自动更新(NN挂了可以用)
Yarn--主要负责资源调度1.ReduceManager(RM)--统筹管理每一台机器上的资源,负责接收处理客户端作业请求
(1)处理客户请求
(2)监控NodeManager
(3)启动活监控ApplicationMaster
(4)资源的分配与调度
2.NodeManager(NM)--负责单独每一台机器的资源管理,实时保证和大哥的通信
(1)管理单个节点上的资源
(2)处理来自RecudeManager的命令
(3)处理来自ApplicationMaster的命令
3.ApplicationMaster(AM)--针对每个请求job的抽象封装
(1)负责数据的切分
(2)为应用程序申请资源病分配给内部的任务
(3)任务的监控与容错
4.Container--将来运行在Yarn上的每一个任务都会给其分配资源,Container就是当前任务所需资源的抽象封装
Container是Yarn中的资源抽象,ta封装了某个节点上的多维度资源,如内存,CPU,磁盘,网络等。
静态:有ReduceManager和NodeManager两种资源
动态:有ReduceManager,NodeManager,ApplicationMaster,Container
MapReduce架构概述--为海量的数据提供计算分成两个阶段 Map和Reduce,先分(映射)再合(归约)。
生态体系


