目录
第一种:NameNode与ResourceManager单节点架构模型
第二种:NameNode单节点与ResourceManager高可用架构模型
第三种:NameNode高可用与ResourceManager单节点架构模型
第四种:NameNode与ResourceManager高可用架构模型
一.1.x的版本架构模型介绍
文件系统核心模块:
HDFS分布式文件存储系统:
NameNode:集群当中的主节点,主要用于管理集群当中的各种数据
secondaryNameNode:主要能用于hadoop当中元数据信息的辅助管理
DataNode:集群当中的从节点,主要用于存储集群当中的各种数据数据计算核心模块:
MapReduce分布式文件计算系统:
JobTracker:接收用户的计算请求任务,并分配任务给从节点
TaskTracker:负责执行主节点JobTracker分配的任务
二.2.x的版本架构模型介绍
第一种:NameNode与ResourceManager单节点架构模型
文件系统核心模块:
NameNode:集群当中的主节点,主要用于管理集群当中的各种元数据
secondaryNameNode:主要能用于hadoop当中元数据信息的辅助管理
DataNode:集群当中的从节点,主要用于存储集群当中的各种数据
数据计算核心模块:
ResourceManager:接收用户的计算请求任务,并负责集群的资源分配
NodeManager:负责执行主节点APPmaster分配的任务
第二种:NameNode单节点与ResourceManager高可用架构模型
文件系统核心模块:
NameNode:集群当中的主节点,主要用于管理集群当中的各种数据
secondaryNameNode:主要能用于hadoop当中元数据信息的辅助管理
DataNode:集群当中的从节点,主要用于存储集群当中的各种数据
数据计算核心模块:
ResourceManager:接收用户的计算请求任务,并负责集群的资源分配,以及计算任务的划分,通过zookeeper实现ResourceManager的高可用
NodeManager:负责执行主节点ResourceManager分配的任务
第三种:NameNode高可用与ResourceManager单节点架构模型
文件系统核心模块:
NameNode:集群当中的主节点,主要用于管理集群当中的各种数据,其中nameNode可以有两个,形成高可用状态
DataNode:集群当中的从节点,主要用于存储集群当中的各种数据
JournalNode:文件系统元数据信息管理
数据计算核心模块:
ResourceManager:接收用户的计算请求任务,并负责集群的资源分配,以及计算任务的划分
NodeManager:负责执行主节点ResourceManager分配的任务
namenode高可用:
namenode active状态:处于活跃的主节点,处理用户请求,维护元数据信息
namenode stand状态:处于备份的节点,活跃的主节点死了之后,备份的节点,马上切换为活跃的主节点对外提供服务
注意:如果namenode高可用,那么一定要保证namenode的元数据信息同步一致,如果不一致,就会出现脑裂的问题
所以为了解决元数据共享的问题,引入journal node的机制,专门用于同步元数据信息
zkfc:namenode的守护进程,主要用于监听namenode什么时候死掉,死掉之后,马上通知另外一个namenode切换为主节点
journalNode:同步元数据信息,保证两个那么namenode、里面的元数据一模一样,不然会出现脑裂
第四种:NameNode与ResourceManager高可用架构模型
文件系统核心模块:
NameNode:集群当中的主节点,主要用于管理集群当中的各种数据,一般都是使用两个,实现HA高可用
JournalNode:元数据信息管理进程,一般都是奇数个
DataNode:从节点,用于数据的存储
数据计算核心模块:
ResourceManager:Yarn平台的主节点,主要用于接收各种任务,通过两个,构建成高可用
NodeManager:Yarn平台的从节点,主要用于处理ResourceManager分配的任务