一、概念
1.Hadoop1.0的核心组件(仅指MapReduce和HDFS,不包括Hadoop生态系统内的Pig、Hive、HBase等其他组件),主要存在以下不足:
(1)抽象层次低,需人工编码
(2)表达能力有限
(3)开发者自己管理作业(Job)之间的依赖关系
(4)难以看到程序整体逻辑
(4)执行迭代操作效率低
(5)资源浪费(Map和Reduce分两阶段执行)
(6)实时性差(适合批处理,不支持实时交互式)
2.优化与发展体现在两个方面:
(1)Hadoop自身两大核心组件MapReduce和HDFS的架构设计改进
(2)Hadoop生态系统其它组件的不断丰富,加入了Pig、Tez、Spark和Kafka等新组件
3.HDFS HA(High Availability,重点)
(1)为了解决1.0第二名称节点无法克服单点故障问题
(2)1.0那种日志啥的叫冷备份,2.0这个升级了叫热备份。
(3)热备份:
通俗讲就是搞俩节点,坏了用另一个。
HA集群设置两个名称节点,“活跃(Active)”和“待命(Standby)”,Zookeeper确保一个名称节点在对外服务,就是确保坏了没有。
4.HDFS Federation(联邦机制,重点)
解决了,不可以水平扩展,系统整体性能受限于单个名称节点的吞吐量,单个名称节点难以提供不同程序之间的隔离性 等这些问题。
(1)设计了多个相互独立的名称节点。
(2)相互之间是联盟(Federation)关系,不需要彼此协调,并且向后兼容。
(3)所有名称节点会共享底层的数据节点存储资源。
二、资源管理调度框架YARN
1.YARN
(1)JobTracker“大包大揽”导致任务过重。
(2)YARN的目标就是实现“一个集群多个框架”.
(3)容器(Container):是YARN的动态资源分配单位。每个容器中都封装了一定数量的CPU、内存、磁盘等资源,从而限定每个应用程序可以使用的资源量。
2.YARN对待JobTracker的拆分思路(熟记)
3.具体架构(没写文字,但是考试肯定是要文字的):
三、习题
大题
1.HDFS Federation相对于HDFS1.0的优势?
(1)HDFS集群扩展性提高,不再像HDFS1.0中那样由于内存的限制制约文件存储数目。
(2)性能更高效。
(3)良好的隔离性。
2.YARN相对于MapReduce1.0来说的优势?
(1)大大减少了承担中心服务功能的ResourceManager的资源消耗。
(2)MapReduce1.0既是一个计算框架,又是一个资源管理调度框架,但是,只能支持MapReduce编程模型。而YARN则是一个纯粹的资源调度管理框架,在它上面可以运行包括MapReduce在内的不同类型的计算框架,只要编程实现相应的ApplicationMaster.
(3)YARN中的资源管理比MapReduce1.0更加高效,以容器为单位,而不是以slot为单位。