hadoop三大核心
- hdsf集群(分布式文件系统)
- yarn集群(数据计算资源调度)
- mapreduce(分布式计算)
1、1.x版本模型
-
文件系统核心模块(主从架构)
-
NameNode
集群中的主节点,存储元数据(文件位置、文件大小、文件权限),也管理集群当中的各种数据,相当于文件系统的大脑,在1.x版本中NameNode服务宕机整个服务则瘫痪
-
SecondaryNameNode
主要能用于hadoop当中元数据信息的辅助管理,减轻NameNode的负担
-
DataNode
集群当中的从节点,主要存储集群当中的各种数据
-
-
数据计算核心模块(主从架构)
-
JobTracker
接收用户的计算请求,并分配任务给从节点
-
TaskTracker
负责执行主节点JobTracker分配的任务
-
2、2.x版本模型
2.1、NameNode与ResourceManager单节点架构![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/7843becb12a5e254bc754920529ecbdc.png)
-
文件系统核心模块
-
NameNode
集群当中的主节点,主要用于管理集群当中的各种数据
-
secondaryNameNode
主要能用于hadoop当中元数据信息的辅助管理
-
DataNode
集群当中的从节点,主要用于存储集群当中的各种数据
-
-
数据计算核心模块
-
ResourceManager
接收用户的计算请求任务,并负责集群的资源分配,当有任务接收时,ResourceManger会另外启动AppMaster服务对计算任务进行分配(计算任务分配和资源分配),再由ResourceManager管理各个NodeManager资源分配进行各自的计算任务
-
NodeManager:负责执行主节点APPmaster分配的任务
-
2.2、NameNode单节点与ResourceManager高可用架构模型![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b86453de58eb338cd0edd7a5ab98ff61.png)
-
文件系统核心模块
-
NameNode
集群当中的主节点,主要用于管理集群当中的各种数据
-
secondaryNameNode
主要能用于hadoop当中元数据信息的辅助管理
-
DataNode
集群当中的从节点,主要用于存储集群当中的各种数据
-
-
数据计算核心模块
-
ResourceManager
接收用户的计算请求任务,并负责集群的资源分配,以及计算任务的划分,通过zookeeper实现ResourceManager的高可用,利用zookeeper的watch机制,监听主节点是否正常允许,一旦宕机,备份节点替换主节点进行计算任务分配
-
NodeManager
负责执行主节点ResourceManager分配的任务
-
-
zookeeper
- 部署zookeeper,利用其watch机制
2.3、NameNode高可用与ResourceManager单节点架构模型
-
文件系统核心模块:
-
NameNode
集群当中的主节点,主要用于管理集群当中的各种数据,其中nameNode可以有两个,形成高可用状态
-
DataNode
集群当中的从节点,主要用于存储集群当中的各种数据
-
JournalNode
文件系统元数据信息管理,保证主从的NameNode的数据一致
-
-
数据计算核心模块:
-
ResourceManager
接收用户的计算请求任务,并负责集群的资源分配,以及计算任务的划分
-
NodeManager
负责执行主节点ResourceManager分配的任务
2.4、NameNode与ResourceManager高可用架构模型
-
文件系统核心模块:
-
NameNode
集群当中的主节点,主要用于管理集群当中的各种数据,一般都是使用两个,实现HA高可用
-
JournalNode
元数据信息管理进程,一般都是奇数个
-
DataNode
从节点,用于数据的存储
-
-
数据计算核心模块:
-
ResourceManager
Yarn平台的主节点,主要用于接收各种任务,通过两个,构建成高可用
-
NodeManager
Yarn平台的从节点,主要用于处理ResourceManager分配的任务
-