Hadoop2.0总结

 

本质

Hadoop2.0,相比于Hadoop1.0,最明显的区别是YARN系统和HDFS2.0的新特性


hadoop增量实时同步 hadoop2.0增加了啥_分布式文件系统

、Yarn解决了什么问题

1. 降低运维成本和数据共享成本

2. 减小了 JobTracker(也就是现在的 RM)的负担

3. 使得多种计算框架可以运行在一个集群中

4. 资源表示成内存量,解决了之前的map slot/reduce slot分开造成集群资源闲置的情况


、HDFS2.0解决了什么问题

1. NameNode HA 解决了Hadoop1.0中NameNode的单点问题


hadoop增量实时同步 hadoop2.0增加了啥_Hadoop_02

2. NameNode Federation 解决了NameNode的横向扩展问题

3. HDFS Snapshot 解决了数据备份,防止用户错误操作和容灾恢复

4. HDFS Cache 可以防止频繁使用的数据被从内存中清除

5. HDFS ACL 使得权限控制可以对单个用户操作

6.异构层级存储结构 支持一个集群中,有多种不同的存储介质


系统架构

1.ResourceManager(RM)

• RM处理客户端请求,接收JobSubmitter提交的作业,按照作业的上下文(Context) 信息,以及从 NodeManager(NM) 收集来的状态信息,启动调度过程,分配一个 Container 作为 App Master

• RM拥有为系统中所有应用资源分配的决定权,是中心服务,做的事情就是调度、启动每一个Job所属的Application、另外监控Application的存在情况

• 与运行在每个节点上的NM进程交互,通过心跳通信,达到监控NM的目的

 

2. ApplicationMaster(AM)

• 应用程序的Master,每一个应用对应一个AM,类似旧的JobTracker

• 与RM协商资源

– 与Scheduler协商合适的Container

• 与NM协同工作与Scheduler协商合适的Container进行Container的监控

• 以一个普通Container的身份运行

 

3. NodeManager(NM)

• 是slave进程,类似TaskTracker的角色,是每个机器框架代理

• 处理来自RM的任务请求

• 接收并处理来自ApplicationMaster的Container启动、停止等各种请求

• 负责启动应用程序的Container(执行应用程序的容器),并监控他们的资源使用情况(CPU、内存、磁盘和网络),并报告给RM

 

4. Container

• 是任务运行环境的抽象封装

• Container只是使用NM上指定资源的权利

• AM必须向NM提供更多的信息来启动Container

• 描述任务的运行资源(节点、内存、cpu)、启动命令和运行环境

 

Yarn是重构的MapReduce,其根本思想:将 JobTracker 两个主要的功能分离成单独的组件,这两个功能是资源管理(RM)任务调度(AM) 

 

、Yarn的执行流程与容错


hadoop增量实时同步 hadoop2.0增加了啥_分布式文件系统_03

1. RM挂掉:

单点故障,新版本可以基于Zookeeper实现HA高可用集群,可通过配置进行设置准备RM,主提供服务,备同步主的信息,一旦主挂掉,备立即做切换接替进行服务


2. NM挂掉:

当NM挂了,会通过心跳方式通知RM,RM将情况通知对应AM,AM作进一步处理


3. AM挂掉:

        若挂掉,RM负责重启,其实RM上有一个RMApplicationMaster,是AM的AM,上面保存已经完成的task