组件 | Hadoop1.0的问题 | Hadoop2.0的改进 |
HDFS | 单一名称节点,存在单点失效问题 | 设计了HDFS HA,提供名称节点热备机制 |
HDFS | 单一命名空间,无法实现资源隔离 | 设计了HDFS Federation,管理多个命名空间 |
MapReduce | 资源管理效率低 | 设计了新的资源管理框架YARN |
YARN的设计思路
架构思路:将原JobTracker三大功能拆分
将原JobTracker的资源管理调度功能,分离出来形成了YARN,他是一个纯粹的资源管理调度框架,其中资源股那里由ResourceManager管理,任务调度和任务监控由ApplicationMaster来管理。
YARN的体系结构
ResourceManager
处理客户端请求
启动/监控ApplicationMaster
监控NodeManager
资源分配与调度
NodeManager
单个节点上的资源管理
处理来自ResourceManager的命令
处理来自ApplicationMaster的命令
ApplicationMaster
为应用程序申请资源,并分配给内部任务
任务调度、监控与容错
NameNode的共享存储架构图
FailoverController用来监控NameNode的状态,如果NameNode的状态有变化,那么会通知Zookeeper的,FailoverController和Zookeeper的交互很多,FailoverController属于中间的一个中转管理者,FailoverController是HDFS2中的进程