一.Hadoop 的优化与发展

1.1 局限与不足

  • 抽象层次低,需要人工编码;
  • 表达能力有限;
  • 开发者自己管理作业之间的依赖关系;
  • 难于看到程序的整体的逻辑;
  • 执行迭代操作效率低;
  • 实时性差;
  • 资源浪费;

1.2 改进与提升

  • 对MapReduce 和HDFS两大核心组件进行改进;
  • 不断丰富Hadoop组件,包括Pig,Tez,Spark和Kafka等。

二.HDFS2.0的新特性

2.1 HDFS HA:解决单点故障问题。

2.2 HDFS Federation

  • 存在的问题

  • 解决方式:HDFS Federation

    • 解决单名称节点存在的问题,解决了HDFS 的集群扩展性问题,性能更高效,具有良好的隔离性。
    • 各自管理字节的命名空间;

三.新一代资源管理调度管家YARN

3.1 MapReduce 1.0 的缺陷

  • 存在单点故障;
  • JobTracker 任务过重;
  • 容易出现内存溢出;
  • 资源划分不合理, Map Slot和Reduce Slot;

3.2 YARN 设计思路

分离出资源管理功能,单独形成YARN,MapReduce 2.0变成了运行在YARN 上的纯粹的计算框架。

  • ResourceManager:负责资源管理;
  • ApplicationMaster:负责任务调度和任务监控;

YARN 是一个资源管理调度框架。

3.3 YARN 体系结构

  • ResourceManager:全局资源管理器,负责整个系统的资源管理与分配,两大核心组件如下;

    • 调度器Scheduler;

      • 接收来自ApplicationMaster的应用程序资源请求,把集群中的资源以“容器”的形式分配给提出申请的应用程序,容器的选择通常会考虑应用程序所要处理的数据的位置,进行就近选择从而实现“计算向数据靠拢”;
      • 容器(Container)作为动态资源分配单位,每个容器都封装了一定数量的CPU、内存、磁盘等资源,从而限定每个应用程序可以使用的资源数量。
      • 调度器被设计成一个可插拔的组件,YARN不仅自身是提供了许多种直接可用的调度器,也允许用户根据自己的需求重新设计调度器。
    • 应用程序管理器Applications Manager
    • 负责系统中所有应用程序的管理工作,主要包括应用程序提交、与调度器协商资源以启动ApplicationMaster、监控ApplicationMaster 运行状态并在失败是重新启动等;
  • ApplicationMaster

    • ResourceManager接收用户提交的作业,按照作业的上下文信息以及NodeManager收集来的容器状态信息,启动调度过程,为用户作业启动一个ApplicationMaster;
    • 功能:
      • 当用户提交作业时,ApplicationMaster与ResourceManager协商获取资源;
      • ResourceManager会以容器的形式为ApplicationMaster分配资源;
      • 把获取的资源进一步分配给内部的各个任务(Map任务和Reduce 任务)实现资源的“二次分配”;
      • 与NodeManager保持交互通信,进行应用程序的启动、运行、监控和停止,监控申请到的资源的使用情况;
      • 对所用任务的执行进度的和状态进行监控,并在任务发生失败时执行失败恢复(即重新申请资源重启任务);
      • 定时向ResourceManager发送“心跳”信息,报告资源的使用情况和应用的进程信息;
      • 当作业完成时,ApplicationMaster向 ResourceManager注销容器,执行周期完成;
  • NodeManager

    • NodeManager 是驻留在YARN集群中的每个节点上的代理,主要负责如下工作:

      • 容器生命周期管理;
      • 监控每个容器的资源使用情况;
      • 以“心跳"的方式与ResourceManager保持通信;
      • 向ResourceManager汇报作业的资源使用情况和每个容器的而运行状态;
      • 跟踪节点健康状况;
      • 接收来自ApplicationMaster的启动\停止容器的各种请求;
  • 部署情况:

3.4 YARN 工作流程

  • 用户编写客户端应用程序,向YARN 提交应用程序;
  • YARN 中的REsourceManager负责接收和处理来自客户端的请求,为用程序分配一个容器,在该容器中启动一个ApplicationMaster;
  • ApplicationMaster 被创建后会首先向ResourceManager注册;
  • ApplicationMaster 采用轮询的方式向ResourceManager申请资源;
  • ResourceManager以容器的形式向提出申请的ApplicationMaster分配资源;
  • 在容器中启动任务;
  • 各个任务向 ApplicationMaster 汇报自己的状态和进度;
  • 应用程序运行完成后ApplicationMaster向ResourceManager的应用程序管理器注销并关闭自己;

3.5 YARN框架与MapReduce1.0框架的对比分析




3.6 YARN 发展目标

四.Hadoop 中代表性的组件

4.1 Pig 组件




4.2 Tez 组件





4.3 Spark 和 Kafka组件





Hadoop相关技术相关推荐

  1. 注意!Apache下这些与Hadoop相关的开源项目要退休了!

    不知不觉之间,小编发现 Apache下许多与Hadoop相关的开源项目竟然都要退休了! 包括像Sentry.Tajo和Falcon在内的13个与大数据相关的Apache项目,相继在11天之内宣布退出. ...

  2. Hadoop笔记——技术点汇总

    Hadoop笔记--技术点汇总 目录 · 概况 · Hadoop · 云计算 · 大数据 · 数据挖掘 · 手工搭建集群 · 引言 · 配置机器名 · 调整时间 · 创建用户 · 安装JDK · 配置 ...

  3. 大数据、云计算、物联网相关技术概述——《大数据技术原理与应用》课程学习总结

    在学习大数.云计算以及物联网相关概念之前,先了解一下大数据的背景吧 1.1 大数据时代 1.1.1 第三次信息化浪潮 三次信息化浪潮: 信息化浪潮 发生时间 标志 解决问题 代表企业 第一次信息化浪潮 ...

  4. 【架构】分布式系统及相关技术栈初了解

    文章目录 1)分布式系统 1.1 什么是分布式系统? 1.2 为什么需要分布式系统? *什么时候才需要分布式系统? 1.3 分布式系统的功能解耦 分布式系统按层次划分: 2)分布式架构的演变 1.初始 ...

  5. 【网关层】网关层及相关技术栈

    文章目录 1)网关 1.1 什么是网关? *注意区分网关和网桥 1.2 为什么需要网关? 单体架构(或称分层架构) 分布式应用 微服务架构 API Gateway的出现: *代理和网关的区别 1.3 ...

  6. 云计算行业的相关技术知识,主要有哪些?

    云计算是一种新型的业务交付模式,同时也是新型的IT基础设施管理方法.通过新型的业务交付模式,用户将通过网络充分利用优化的硬件.软件和网络资源,并以此为基础提供创新的业务服务. 新型的IT基础设施管理方 ...

  7. 百度网盟内容匹配广告和展示广告相关技术

    第三期百度计算广告学沙龙( http://wenku.baidu.com/course/view/1488bfd5b9f3f90f76c61b8d ) 介绍了内容匹配广告和展示广告相关技术.本博客记录 ...

  8. hadoop相关认证

    前言: 关于Hadoop课程及认证证书的事,想着整理一下,可能觉得有用的. 首先我所知道的在做Hadoop认证的有两家,Hortonworks跟Cloudera.因为工作的原因接触Cloudera比较 ...

  9. Hadoop中国技术峰会引发Hadoop 2.0风暴

    作为本年度大中华地区规模最大的Hadoop技术峰会,China Hadoop   Summit是不会被这两大厂商忽视的.记者日前从大会组委会了解到,Hortonworks亚太区技术总监Jeff   M ...

最新文章

  1. 1103 Integer Factorization 需再做
  2. c语言实现将两个文件复制到一个文件里_Python中复制文件的9种方法
  3. Spring Boot 注解配置文件自动映射到属性和实体类
  4. axure类型app项目rp文件_Python编程快速上手实践项目--选择性拷贝指定类型文件到目的目录...
  5. LintCode 6.合并排序数组 ||
  6. 微信小程序开发——超链接或按钮点击跳转到其他页面失效
  7. php获取页面中的指定内容,php 获取页面中指定内容的实现类
  8. 目标检测——初始学习率设置的学习笔记
  9. 对是否要用Linux的思考
  10. C语言的5种存储类以及关键字volatile、restrict
  11. Looksery Cup 2015 B. Looksery Party 暴力
  12. C语言日字,【C语言日日练(二)】static关键字
  13. 【电脑录制屏】如何使用bandicam录游戏 设置图文教程
  14. 交叉编译openssl(arm和x86_64)
  15. 哪款蓝牙耳机吃鸡没延迟?游戏蓝牙耳机推荐
  16. 如何把视频压缩,视频压缩软件哪个最好
  17. vue子组件mounted不执行_vue 页面回退mounted函数不执行的解决方案
  18. 2021-06-26 Vue中关与el挂载点的学习
  19. 突然降薪!幅度5000至10000?
  20. CenterLoss原理详解(通透)

热门文章

  1. LeetCode 1258. 近义词句子(哈希+并查集+排序+回溯)
  2. LeetCode 1037. 有效的回旋镖
  3. LeetCode 657. 机器人能否返回原点
  4. html 获取鼠标在canvas上的坐标,html5-canvas 检测鼠标在画布上的位置
  5. Ubuntu 扩展内存或断电之后卡在 /dev/sda1 clean 和 /dev/sda1 recovering journal
  6. oracle事务重要属性,Oracle中的事务(2)--属性和隔离级别
  7. 苹果企业证书_IOS福利9月15日苹果企业证书已更新!重新下载即可!
  8. 小夕说,不了解动态空间增长的程序喵都是假喵(下)
  9. RabbitMQ延迟消息的极限是多少?
  10. 直通BAT必考题系列:深入剖析JVM之G1收集器、及回收流程、与推荐用例