热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HadoopMRv1和MRv2的区别

Hadoop1.0采用的是MRv1版本的MapReduce编程模型对于MRv1 运行时环境:JobTracker和TaskTracker 编程模型:MapReduce 数据

Hadoop1.0采用的是MRv1版本的MapReduce编程模型

对于MRv1
运行时环境:JobTracker和TaskTracker
编程模型:MapReduce
数据处理引擎:Map任务和Reduce任务

这一版本的瓶颈和缺陷:
1、JobTracker既负责资源管理又负责任务调度,如果集群繁忙,JobTracker本身就会成为可扩展性的瓶颈,大大制约计算能力。
2、在这一版本中,TaskTracker将节点的CPU和内存量等量划分为slot,每个slot代表一个计算单元,分为Map slot和Reduce slot,供MapTask和ReduceTask使用。这会造成什么问题?

  • 有些任务用不了整个slot的能力,有些任务使用的slot能力不够用,这就造成了资源使用效率不高。
  • 任务启动之初,MapTask在运行,ReduceTask未调度运行,这个时候Reduce slot被闲置。

3、单节点的Master,没有备用Master和选举操作,这导致了一旦Master失败,集群将不可用。
4、只能使用自身的MapReduce计算框架,无法通过热插拔方式使用其他(如Spark等)计算框架。
5、这一版本的核心是MapReduce,只能跑MapReduce任务。

基于以上的问题和局限,MRv2诞生,对应Hadoop2.0

对于MRv2
运行时环境:ResourceManager(负责通用资源调度)和ApplicationMaster(负责任务调度)
编程模型:MapReduce
数据处理引擎:Map任务和Reduce任务

在这一版本中,核心是YARN,MapReduce是可插拔的,完全可以使用其他的计算框架替代,如Spark、Storm等。

可以看到,在这一版本中JobTracker被替换成了ResourceManager和ApplicationMaster,分别负责对资源的统一调度,和对各计算框架的任务调度。这样一来的好处有:
1、提高了可扩展性,相比于JobTracker本身可能的瓶颈,这里不存在。
2、计算框架可插拔,不管是本身的Hadoop MapReduce、Spark、Storm等都可以,因为任务调度交给了ApplicationMaster,计算框架的任务只需到向ResourceManager申请的资源中去运行即可。
3、资源的使用单位由slot变成container,应用可根据自身需要申请,提高了集群资源的分配和使用效率。

仍然存在的局限:由HDFS的频繁读写导致的磁盘IO决定了其只适合于离线计算。


推荐阅读
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
  • 深入理解云计算与大数据技术
    本文详细探讨了云计算与大数据技术的关键知识点,包括大数据处理平台、社会网络大数据、城市大数据、工业大数据、教育大数据、数据开放与共享的应用,以及搜索引擎与Web挖掘、推荐技术的研究及应用。文章还涵盖了云计算的基础概念、特点和服务类型分类。 ... [详细]
  • 大数据领域的职业路径与角色解析
    本文将深入探讨大数据领域的各种职业和工作角色,帮助读者全面了解大数据行业的需求、市场趋势,以及从入门到高级专业人士的职业发展路径。文章还将详细介绍不同公司对大数据人才的需求,并解析各岗位的具体职责、所需技能和经验。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 如何高效启动大数据应用之旅?
    在前一篇文章中,我探讨了大数据的定义及其与数据挖掘的区别。本文将重点介绍如何高效启动大数据应用项目,涵盖关键步骤和最佳实践,帮助读者快速踏上大数据之旅。 ... [详细]
  • Hadoop 2.6 主要由 HDFS 和 YARN 两大部分组成,其中 YARN 包含了运行在 ResourceManager 的 JVM 中的组件以及在 NodeManager 中运行的部分。本文深入探讨了 Hadoop 2.6 日志文件的解析方法,并详细介绍了 MapReduce 日志管理的最佳实践,旨在帮助用户更好地理解和优化日志处理流程,提高系统运维效率。 ... [详细]
  • 精选10款Python框架助力并行与分布式机器学习
    随着神经网络模型的不断深化和复杂化,训练这些模型变得愈发具有挑战性,不仅需要处理大量的权重,还必须克服内存限制等问题。本文将介绍10款优秀的Python框架,帮助开发者高效地实现分布式和并行化的深度学习模型训练。 ... [详细]
  • 深入解析:存储技术的演变与发展
    本文探讨了从单机文件系统到分布式文件系统的存储技术发展过程,详细解释了各种存储模型及其特点。 ... [详细]
  • 本文介绍如何通过整合SparkSQL与Hive来构建高效的用户画像环境,提高数据处理速度和查询效率。 ... [详细]
  • 本文介绍了Hadoop的核心组件,包括高可靠性和高吞吐量的分布式文件系统HDFS、分布式的离线并行计算框架MapReduce、作业调度与集群资源管理框架YARN以及支持其他模块的工具模块Common。 ... [详细]
  • HBase 数据复制与灾备同步策略
    本文探讨了HBase在企业级应用中的数据复制与灾备同步解决方案,包括存量数据迁移及增量数据实时同步的方法。 ... [详细]
  • 深入探讨:Actor模型如何解决并发与分布式计算难题
    在现代软件开发中,高并发和分布式系统的设计面临着诸多挑战。本文基于Akka最新文档,详细探讨了Actor模型如何有效地解决这些挑战,并提供了对并发和分布式计算的新视角。 ... [详细]
  • 2012年9月12日优酷土豆校园招聘笔试题目解析与备考指南
    2012年9月12日,优酷土豆校园招聘笔试题目解析与备考指南。在选择题部分,有一道题目涉及中国人的血型分布情况,具体为A型30%、B型20%、O型40%、AB型10%。若需确保在随机选取的样本中,至少有一人为B型血的概率不低于90%,则需要选取的最少人数是多少?该问题不仅考察了概率统计的基本知识,还要求考生具备一定的逻辑推理能力。 ... [详细]
  • 在前一篇文章《Hadoop》系列之“踽踽独行”(二)中,我们详细探讨了云计算的核心概念。本章将重点转向物联网技术,全面解析其基本原理、应用场景及未来发展前景。通过深入分析物联网的架构和技术栈,我们将揭示其在智能城市、工业自动化和智能家居等领域的广泛应用潜力。此外,还将讨论物联网面临的挑战,如数据安全和隐私保护等问题,并展望其在未来技术融合中的重要角色。 ... [详细]
  • PHP中元素的计量单位是什么? ... [详细]
author-avatar
手机用户2502904457
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有