Hadoop和Hadoop2有很大的区别么

Hadoop和Hadoop2有很大的区别,区别在于:1、YARN区别;2、架构区别;3、高可用性区别;4、多计算引擎区别;5、分离处理和调度区别;6、资源分配区别。Hadoop和Hadoop2之间的最大不同是YARN。YARN 是“ Yet Another Resource Negotiator ”的缩写。Hadoop 仅仅是HDFS和MapReduce计算框架的组合。

Hadoop和Hadoop2有很大的区别么-Worktile社区

1、YARN区别

Hadoop和Hadoop2之间的最大不同是YARN。YARN 是“ Yet Another Resource Negotiator ”的缩写。Hadoop 仅仅是HDFS和MapReduce计算框架的组合。正如我们所看到的,在 Hadoop中,YARN位于HDFS层(依赖于服务器本地存储)和计算框架(如 MapReduce 、 Spark )之间。

YARN 的主要功能是进行资源管理和调度。在Hadoop中,MapReduce是你实际可使用的少数的计算框架,它直接与HDFS进行交互。在Hadoop中,MapReduce以与Hadoop中类似的方式执行数据处理。那么哪个Hadoop组件在Hadoop中执行了集群资源管理和任务调度呢?MapReduce执行数据处理和集群资源管理的双重任务。

2、架构区别

Hadoop 使用 MRvl 而 Hadoop 使用 MRv2 (也称为 YARN )。在 Hadoop 2 中,有一个全局 ResourceManager 进程来管理集群中的资源,且它运行在主节点上。工作节点上将有单独的 NodeManager 进程来执行数据处理任务。

在 Hadoop中,有一个单独的进程 JobTracker 来管理作业。每个工作节点运行个工作于特定节点的 TaskTracker 进程来实际执行作业。Hadoop中的 JobTracker 负责执行调度和任务管理功能。在 Hadoop 2 中, JobTracker 被分为调度和资源管理两个功能:

ResourceManager 处理调度任务;

ApplicationMaster 负责特定应用的资源管理。

Hadoop 2 中的 ResourceManager 管理着以前由 Hadoop 中的 JobTracker 执行的几个关键功能。更准确地说, ResourceManager 执行 JobTracker 的一些任务,新的特定应用的 ApplicationMaster 负责 JobTracker 其余的工作。在 Hadoop 中, JobTracker 在繁忙的集群中超负荷运转,因为它同时负责资源管理和任务调度双重任务。JobTracker 资源管理和作业调度/监控两个关键功能的分离减轻了专用守护程序的工作压力。

Hadoop 2 中的 NodeManager 执行 Hadoop 中运行在每个节点上的 TaskTracker 负责的所有任务。NodeManager 进程在集群中的工作节点上运行,并作为代理监视当前节点上任务的执行 ResourceManager 在 Hadoop 中作为纯调度器使用,它与 MapReduce 之间没有特殊连接。而在 Hadoop中, JobTracker 与 MapReduce 是高度耦合的。

3、高可用性区别

Hadoop2具有超高的可用性,可让你运行Standby NameNode和Standby ResourceManager 服务,这两者都对集群运行至关重要。在Hadoop 中,NameNode 只有一个,存在单点故障风险。 如果NameNode服务器不可用,则对HDFS的所有访问都将被中断,导致整个集群不可用。

4、多计算引擎区别

在 Hadoop中,无论使用MapReduce、Hive、Pig还是Python、Ruby的流模型,你只能使用MapReduce作为处理引擎。 根本没有可用的替代引擎。Hadoop 2提供了多种处理引擎,如MapReduce、Apache Spark、Apache Tez等。

Hadoop 2 不仅支持批处理,而且支持多种应用类型。虽然MapReduce可以胜任多种类型的工作,但是它并不适合所有的大数据用例。

Hadoop一个经常为人诟病的地方是高延迟。在Hadoop 2中,可以根据特定的用例类型,选择合适的计算引擎。Hadoop 用批处理的方式处理海量数据,在这种情况下,时间延迟并不是问题。

虽然Hadoop 1非常善于处理甚至包含 PB 级信息的大型非结构化数据集,但在实时数据集的实时分析中并不十分有效。Hadoop 2打破了Hadoop 以批处理为中心的这种定位。

5、分离处理和调度区别

Hadoop 2中的YARN (下一代MapReduce,被称为YARN或MRv2 )标志着Hadoop在执行基本工作时有了根本性的不同。

YARN 被设计为一个通用的分布式应用程序管理框架,而不是像 MapReduce 在 Hadoop 1 中作为一体化资源管理器和性能引擎。

实际上,在更多情况下, YARN 被称为“ Hadoop 操作系统”,因为它执行如下功能:维护了一个可以使批处理、交互式和实时处理等计算引擎同时访问相同 HDFS 数据的多租户环境。监控和管理应用的负载。Hadoop 2中的 MapReduce (也称为 MRv2 )保留了它的处理能力,并成为了一个纯粹的分布式计算框架。

6、资源分配区别

最初, Hadoop 1 没有在同时运行的各种作业之间采用复杂的方式进行资源分配,而是采用了先进先出的资源分配模型,这也意味着,长时间运行的作业会长期占用资源,这会有潜在的风险,会导致小而重要的作业因为长而不重要的作业占用资源而无法启动。在 Hadoop 的后续版本中,引入了名为“公平调度器”和“容量调度器”的复杂作业调度程序。在 Hadoop 1 中,使用插槽( slots )的方式来管理资源,而在 Hadoop 2 中,则使用容器( container )来管理资源。最后,Hadoop 1和Hadoop 2在扩展能力上的最大差别在于,Hadoop 1集群只可以扩展到大约5000个节点,而Hadoop 2集群可以扩展到10000个节点。

延伸阅读:

什么是Hadoop?

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统( Distributed File System),其中一个组件是HDFS(Hadoop Distributed File System)。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。

Hadoop起源于Apache Nutch项目,始于2002年,是Apache Lucene的子项目之一。2004年,Google在“操作系统设计与实现”(Operating System Design and Implementation,OSDI)会议上公开发表了题为MapReduce:Simplified Data Processing on Large Clusters(Mapreduce:简化大规模集群上的数据处理)的论文之后,受到启发的Doug Cutting等人开始尝试实现MapReduce计算框架,并将它与NDFS(Nutch Distributed File System)结合,用以支持Nutch引擎的主要算法。由于NDFS和MapReduce在Nutch引擎中有着良好的应用,所以它们于2006年2月被分离出来,成为一套完整而独立的软件,并被命名为Hadoop。到了2008年年初,hadoop已成为Apache的拔尖项目,包含众多子项目,被应用到包括Yahoo在内的很多互联网公司。

文章标题:Hadoop和Hadoop2有很大的区别么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37838

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月12日 下午4:43
下一篇 2023年2月12日 下午4:47

相关推荐

  • 软件编程要什么

    软件编程主要需要三方面的技能:1、逻辑思维能力;2、掌握至少一种编程语言;3、熟悉软件开发流程。 在这三方面中,逻辑思维能力尤为关键。它不仅帮助开发者高效地解决问题,还能在面对复杂项目时,清晰地规划解决方案,确保软件的稳定及性能。此外,逻辑思维能力还能促使开发者更好地理解用户需求,设计出更符合用户体…

    2024年5月2日
    2900
  • 军事用什么编程

    在军事领域,C++、PYTHON、JAVA、ADA、MATLAB 是常见的编程语言,每种语言都有其特定的应用场景。例如,Python在数据分析和机器学习中日益流行,而C++则因其性能优势被广泛用于武器系统和模拟训练程序开发。 PYTHON 的易学性和强大的库支持,使它成为军事领域中用于脚本编写、自动…

    2024年5月2日
    2700
  • 华发股份oa

    标题:华发股份OA系统的实施与优化 摘要:华发股份实施的OA系统提升了企业资源整合效率、改善了内部沟通机制、优化了工作流程、加强了安全性管理。在这些方面,优化工作流程特别显著,提升了工作效率和进度透明度,例如通过自动化审批流程减少了人工操作的复杂性和出错概率。此外,不断的系统迭代更新确保企业需求得到…

    2024年1月16日
    21200
  • 多个项目如何建账管理

    当管理多个项目时,关键点在于确保信息准确性、持续监控与追踪每个项目的进度和财务状态、使用有效的工具和系统进行项目账户的整合、以及时刻保持透明和流程标准化。为了实现这些目标,建账管理过程中需要采取项目编码系统、设立集中的记账系统、实施预算控制与审计流程、运用高效的项目管理软件、以及进行定期的财务评估和…

    2024年4月10日
    8200
  • 幼儿园用什么编程语言

    幼儿园孩子学习编程首推的语言是Scratch、Blockly和Python,这些语言由于其直观性和易于上手的特点,非常适合幼儿园年龄段的孩子们入门。特别是Scratch,它以图形化的编程界面著称,让孩子们在拖拽积木块的同时学会编程的基本逻辑,极大地降低了学习的门槛。这种以游戏化形式呈现的编程方式不仅…

    2024年4月27日
    4600
  • 工程部如何管理项目

    工程项目管理是指在整个工程项目的规划、设计、采购、施工与交付过程中,利用专业知识和技能,以及相关的工具和技术,来确保项目按预定范围、时间、成本和质量标准完成。1、建立项目管理团队;2、明确项目目标和范围;3、制定详细的项目计划;4、资源的合理配置与管理;5、不断监控和控制项目进度;6、坚持有效的沟通…

    2024年1月8日
    30900
  • 小米公司需要学什么编程

    小米公司需掌握的编程技能包括:1、Python;2、Java;3、C++;4、JavaScript;5、Kotlin;6、Swift。以 Python 为例,这门语言由于其简洁高效的特性,在数据分析、人工智能以及自动化运维领域有着广泛的应用。小米公司在智能设备、互联网服务以及生态链产品方面有大量需求…

    2024年4月27日
    4300
  • 编程需要什么数学

    编程在数学的应用可概括为以下几点:1、逻辑思维;2、算法分析;3、数据结构理解;4、概率统计;5、离散数学。 在这些领域中,逻辑思维尤为关键,因为它涉及到程序的基础结构和决策流程。逻辑思维让程序员能够清楚地定义问题和找到解决方案的步骤,是编程中无法或缺的部分。 编程不仅仅是编写代码,还包括了对问题的…

    2024年4月26日
    5500
  • 加工中心编程什么是左补偿

    加工中心编程中使用的左补偿 是一种用于调整刀具路径以适应刀具半径变化的技术,确保加工精度和工件质量。1、 左补偿可理解为在刀具相对于编程路径的左侧进行路径补偿,使刀具中心偏离原始编程路径一个等于其半径的距离,以保证加工的尺寸准确性;这一点尤其重要,因为它允许操作者通过程序调整而无需物理地更改刀具或重…

    2024年4月27日
    3900
  • 利用关键路径法优化项目时间线

    利用关键路径法优化项目时间线的步骤包括:1、定义项目范围和任务;2、估计活动持续时间;3、确定活动依赖关系;4、绘制项目网络图;5、计算最早开始时间和最晚开始时间;6、确定关键路径;7、优化关键路径;8、考虑资源限制和项目风险;9、更新项目计划。关键路径法是一种项目管理工具,用于计划和控制项目的时间线。

    2023年11月11日
    43500

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部