• Hadoop1X,Hadoop2X和hadoop3X有很大的区别么?


    Hadoop的演进从Hadoop 1到Hadoop 3主要是为了提供更高的效率、更好的资源管理、更高的可靠性以及对更多数据处理方式的支持。下面是Hadoop 1, Hadoop 2, 和 Hadoop 3之间的主要区别和演进的原因:

    Hadoop 1

    特点:

    • 主要包括两大核心组件:HDFS(Hadoop Distributed File System)和MapReduce。

    • Hadoop 1的资源管理和作业调度都由JobTracker完成,JobTracker同时负责资源管理和作业监控。

    局限性:

    • 单点故障:NameNode是HDFS的单点故障。如果NameNode宕机,整个系统将无法使用。

    • 可扩展性:由于所有的资源管理和调度任务都由JobTracker管理,当集群规模增大时,JobTracker的性能成为瓶颈。

    • 资源利用率:MapReduce作业中Map任务和Reduce任务不能独立扩展,导致资源利用率不高。

    • 只支持MapReduce计算模型,不适用于其他类型的计算任务,如图处理、迭代计算等。

    Hadoop 2

    主要改进:

    • 引入了YARN(Yet Another Resource Negotiator),将资源管理和作业调度的功能分开:

      • ResourceManager:负责系统的资源管理。

      • ApplicationMaster:每个应用程序(如一个MapReduce作业)有其自己的ApplicationMaster,负责该应用的资源协调和监控。

    • 支持了NameNode的高可用性配置,可以通过配置活动和备用NameNode来防止单点故障。

    优点:

    • 更好的资源管理:允许更灵活的资源分配,提高资源利用率。

    • 可扩展性:ResourceManager仅管理资源,而不负责作业调度,极大提高了系统的扩展性。

    • 多框架支持:除了MapReduce,还可以支持其他计算框架,如Apache Spark、Apache Tez等。

    Hadoop 3

    主要改进:

    • 支持更多的NameNode和更高的可扩展性,允许构建更大的集群。

    • 增加了Erasure Coding(纠删码),提高了存储效率,降低了存储成本。

    • 改进了YARN资源管理模型,增加了对Docker容器的支持。

    优点:

    • 更高的数据存储效率:通过Erasure Coding,相比Hadoop 2使用的三份数据复制,可以节省大量的存储空间。

    • 更大的集群规模:支持更多的数据节点和更大的集群。

    • 更强的资源管理:引入了更多的调度策略和容器化支持,使得资源管理更加灵活。

    为什么这样演进

    Hadoop的这些演进主要是为了解决早期版本中存在的问题,如资源管理效率低下、系统可扩展性差、对新类型计算模型支持不足等。随着数据处理需求的多样化和技术的发展,Hadoop不断演进以满足更高效、更可靠、更灵活的大数据处理需求。

    53accebb0260365840cae0463efc105f.png

  • 相关阅读:
    百战RHCE(第四十六战:运维工程师必会技-Ansible学习1-基础知识讲解)
    【Wins+VSCode】配置C++开发环境
    我的高考往事
    图数据库Neo4J 中文分词查询及全文检索(建立全文索引)
    Wijmo UI Components for JS 5.2.X Crack
    python忽略警告信息
    Hive存储格式之RCFile详解,RCFile的过去现在和未来
    第08章 MyBatisPlus持久化操作(二)
    我的世界Bukkit服务器插件开发教程(九)NMS
    带你造轮子,自定义一个随意拖拽可吸边的View
  • 原文地址:https://blog.csdn.net/rlnLo2pNEfx9c/article/details/138019589