09_hadoop深入与优化_YARN_note

Hadoop架构深入与优化

1. Hadoop的优化与发展

1.1Hadoop的局限与不足

  • Hadoop1.0的核心组件(MapReduce和HDFS)主要存在以下不足
    • 抽象层次低,需人工编码
    • 表达能力有限
    • 开发者自己管理作业(Job)之间的依赖关系
    • 难以看到程序整体逻辑
    • 执行迭代操作效率低
    • 资源浪费(Map和Reduce分两阶段执行)
    • 实时性差(适合批处理,不支持实时交互式)

1.2针对Hadoop的改进与提升

  • Hadoop的优化与发展主要体现在两个方面:
    • 一方面是Hadoop自身两大核心组件MapReduce和HDFS的架构设计改进

    • 另一方面是Hadoop生态系统其它组件的不断丰富,加入了Pig、Tez、Spark和Kafka等新组件

组件 Hadoop1.0的问题 Hadoop2.0的改进
HDFS 单一名称节点,存在单点失效问题 设计了HDFS HA,提供名称节点热备机制
HDFS 单一命名空间,无法实现资源隔离 设计了HDFS Federation,管理多个命名空间
MapReduce 资源管理效率低 设计了新的资源管理框架YARN
组件 功能 解决Hadoop中存在的问题
Pig 处理大规模数据的脚本语言,用户只需要编写几条简单的语句,系统会自动转换为MapReduce作业 抽象层次低,需要手工编写大量代码
Spark 基于内存的分布式并行编程框架,具有较高的实时性,并且较好支持迭代计算 延迟高,而且不适合执行迭代计算
Oozie 工作流和协作服务引擎,协调Hadoop上运行的不同任务 没有提供作业(Job)之间依赖关系管理机制,需要用户自己处理作业之间依赖关系
Tez 支持DAG作业的计算框架,对作业的操作进行重新分解和组合,形成一个大的DAG作业,减少不必要操作 不同的MapReduce任务之间存在重复操作,降低了效率
Kafka 分布式发布订阅消息系统,一般作为企业大数据分析平台的数据交换枢纽,不同类型的分布式系统可以统一接入到Kafka,实现和Hadoop各个组件之间的不同类型数据的实时高效交换 Hadoop生态系统中各个组件和其他产品之间缺乏统一的、高效的数据交换中介

2.HDFS2.0的新特性

2.1HDFS HA

  • HDFS1.0组件及其功能

    • 名称节点保存元数据:

      (1)在磁盘上:FsImage和EditLog

      (2)在内存中:映射信息,即文件包含哪些块,每个块存储在哪个数据节点
      DataNode&NameNode

      • HDFS 1.0存在单点故障问题
        • 第二名称节点(SecondaryNameNode)无法解决单点故障问题
  • HDFS HA(High Availability)是为了解决单点故障问题而出现的

    • HA集群设置两个名称节点,“活跃(Active)”和“待命(Standby)”
      • 两种名称节点的状态同步,可以借助于一个共享存储系统来实现
      • 一旦活跃名称节点出现故障,就可以立即切换到待命名称节点
      • Zookeeper确保一个名称节点在对外服务
      • 名称节点维护映射信息,数据节点同时向两个名称节点汇报信息
    • HDFS HA架构图:
      在这里插入图片描述

2.2 HDFS Federation

HDFS 1.0中存在的问题:

  • 单点故障问题
  • 不可以水平扩展(是否可以通过纵向扩展来解决?)
  • 系统整体性能受限于单个名称节点的吞吐量
  • 单个名称节点难以提供不同程序之间的隔离性
  • HDFS HA是热备份,提供高可用性,但是无法解决可扩展性、系统性能和隔离性
为针对HDFS1.0存在的问题,提出了HDFS Federation的设计方案
  1. 在HDFS Federation中,设计了多个相互独立的名称节点,使得HDFS的命名服务能够水平扩展,这些名称节点分别进行各自命名空间和块的管理,相互之间是联盟(Federation)关系,不需要彼此协调。并且向后兼容

  2. HDFS Federation中,所有名称节点会共享底层的数据节点存储资源,数据节点向所有名称节点汇报

  3. 属于同一个命名空间的块构成一个“块池”

在这里插入图片描述

  • HDFS Federation的访问方式

    对于Federation中的多个命名空间,可以采用客户端挂载表(Client Side Mount Table)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值