Hadoop的架构模型
1.x的版本架构模型介绍
-
架构图
-
HDFS分布式文件存储系统(典型的主从架构)
NameNode:集群当中的主节点,主要用于维护集群当中的元数据信息,以及接受用户的请求,处理用户的请求
SecondaryNameNode:主要是辅助NameNode管理元数据信息
DataNode:集群当中的从节点,主要用于存储数据
什么是元数据?
元数据就是描述数据的数据。简单的来说,一个文件的存放位置、文件名称、打开方式、创建人、修改时间、文件大小、文件权限等这些都是描述性的数据,都可以称为元数据。拿到现实生活中来说,判断一个人是否是我们想要找到的人,他的样貌、身高、体型、穿着这些都是描述性的信息,也就是元数据。 -
mapReduce分布式计算系统
JobTracker:主节点,接受用户请求,分配任务给taskTracker去执行
TaskTracker:从节点,主要用于接受jobTracker分配的任务
2.x的版本架构模型介绍
- 第一种:NameNode和ResourceManager单节点架构模型
HDFS文件存储系统(典型的主从架构)
NameNode:集群当中的主节点,主要用于维护集群当中的元数据信息,以及接受用户的请求,处理用户的请求
SecondaryNameNode:主要是辅助NameNode管理元数据信息
DataNode:集群当中的从节点,主要用于存储数据
Yarn资源调度系统
ResourceManager:主节点,接受用户请求,分配资源(分配CPU、分配内存等)
NodeManager:从节点,主要用于处理计算任务
- 第二种:NameNode单节点和ResourceManager高可用架构模型
- 第三种:NameNode高可用和ResourceManager单节点架构模型
NameNode高可用
NameNode Active:处于活跃的主节点,处理用户请求,维护元数据信息
NameNode StandBy:处于待命的节点,当活跃的主节点出故障停止工作后,切换为活跃的主节点,对外提供服务
JournalNode:专门用于同步元数据信息(因为,如果NameNode高可用,就一定要保证两个NameNode的元数据信息一致,否则就会出现脑裂的问题。JournalNode机制就是用来解决这个问题的)
zkfc ( ZooKeeper FailLover Controller ):NameNode的守护进程,用于监听NameNode的状态,当NameNode Active出故障停机时,会立刻通知NameNode StandBy切换为活跃的主节点
- 第四种:NameNode高可用和ResourceManager高可用架构模型