图解 Hadoop 架构 |Yarn、MapReduce
创始人
2024-11-12 17:39:19
0次

Hadoop

Hadoop 是什么

  1. Hadoop 是由 Apache 基金会所开发,维护的分布式系统基础架构
  2. 主要解决海量数据的存储和海量数据的分析计算问题
  3. 广义上来说,Hadoop 通常是指一个更广泛的概念——Hadoop 生态圈,包括 MapReduce,HDFS,HBase,Yarn 等等

Hadoop 优势

  1. 高可靠:Hadoop 底层维护多个数据副本,所以即使 Hadoop 某个计算元素或存储出现故障,也不会导致数据的丢失。
  2. 高扩展:在集群间分配任务数据,可方便的扩展数以千计的节点。
  3. 高效:在 MapReduce 的思想下,Hadoop 是并行工作的,以加快任务处理速度。
  4. 高容错:能够自动将失败的任务重新分配。

image-20231006223320248

Hadoop 2.x 相比于 Hadoop 1.x 将 mapreduce 中的计算与调度分开了,降低了耦合度,而 Hadoop 3.x 和 Hadoop 2.x 架构没有什么区别就不画图了,下面我们来介绍一下 Hadoop 中的 HDFS,MapReduce,Yarn 等模块

YARN

YARN(Yet Another Resource Negotiator)是 Hadoop 生态系统的一个关键组件,用于集群资源管理和作业调度,是 Hadoop 的第二代资源管理器,取代了早期版本中的 MapReduce 作业调度器,为大规模数据处理提供了更灵活和高效的资源管理框架。

  • ResourceManager(RM):整个集群资源(内存、CPU 等)的管理者
  • NodeManager(NM):单个节点服务器资源的管理者。
  • ApplicationMaster(AM):单个任务运行的管理者。
  • Container:容器,相当于一台独立的服务器,里面封装了任务运行所需要的资源,如内存、CPU、磁盘、网络等。

image-20231006230926742

YARN 的主要特点包括:

  • 多样化的工作负载支持:YARN 支持多种类型的应用程序,包括传统的 MapReduce 作业、流式处理、图计算、交互式查询等。它提供了一个通用的资源管理框架,可以灵活地为不同类型的应用程序分配资源。
  • 高可伸缩性:YARN 可以在大规模集群上管理成千上万个节点和数以千计的应用程序。它能够有效地管理和调度集群中的资源,以满足不同应用程序的需求。
  • 资源隔离:YARN 通过使用容器(Container)来实现资源隔离。每个应用程序都在自己的容器中运行,这样可以确保应用程序之间的资源不会相互干扰。
  • 高可靠性:YARN 具有高可靠性和容错性。当节点或 ApplicationMaster 发生故障时,YARN 会自动重新分配资源和重新启动受影响的任务。

YARN 广泛应用于大数据处理和分析场景,成为 Hadoop 生态系统中的核心组件。它为用户提供了一个强大的资源管理和作业调度平台,使得各种类型的应用程序能够高效地在 Hadoop 集群上运行。

后续会出一篇关于 YARN 详细笔记,这里不过多赘述~

MapReduce

MapReduce 是一种用于处理大规模数据集的编程模型和计算框架。它是由 Google 提出并在 Hadoop 项目中得到广泛应用的。MapReduce 的设计目标是将并行计算任务分解为可独立执行的子任务,并自动处理任务的并行执行、故障恢复和数据分发等细节,以实现可靠且高效的大规模数据处理。

MapReduce 模型由两个主要的阶段组成:Map 阶段和 Reduce 阶段。

  1. Map 阶段:在 Map 阶段中,输入数据被划分为多个独立的数据块,并由多个并行运行的 Map 任务进行处理。每个 Map 任务接收一组输入数据,并将其转换为一系列键值对,即中间结果。Map 任务是独立执行的,它们可以在不同的计算节点上并行运行,以提高处理速度。
  2. Reduce 阶段:在 Reduce 阶段中,中间结果的键值对根据键进行分组,并由多个并行运行的 Reduce 任务进行处理。每个 Reduce 任务接收一个键及其对应的一组值,并对这些值进行聚合、合并或其他操作,生成最终的输出结果。

image-20231006231103355

MapReduce 的主要特点包括:

  • 可扩展性:MapReduce 可以在具有大量计算节点的集群上处理大规模数据集,通过并行执行任务来实现高吞吐量和可伸缩性。
  • 容错性:MapReduce 具有容错性,当某个节点或任务失败时,它可以自动进行故障恢复,并重新分配任务以保证计算的正确性和完整性。
  • 简化编程模型:MapReduce 提供了一种简化的编程模型,使得开发人员可以专注于业务逻辑而不必关心并行计算和分布式系统的细节。
  • 适用于批处理:MapReduce 适用于批处理任务,它对于需要对整个数据集进行处理和分析的场景非常有效。

尽管 MapReduce 在大数据处理方面取得了巨大成功,但随着数据处理需求的多样化,其他更灵活和高级的计算模型和框架也得到了发展和应用,如 Spark、Flink 等。后续会出一篇关于 mapreduce 详细笔记,这里不过多赘述~

三者关系

HDFS 用于存储和管理数据,YARN 用于集群资源管理和作业调度,而 MapReduce 则是一种编程模型和计算框架,用于实现大规模数据处理。MapReduce 利用 YARN 来管理任务的执行和资源的分配,通过与 HDFS 进行交互来读取和写入数据。这三个组件相互协作,共同构建了 Hadoop 生态系统中的数据处理和存储基础设施。

image-20231006232943656

相关内容

热门资讯

实测交流透视挂!宝玛大厅ai智... 实测交流透视挂!宝玛大厅ai智能透视挂教程,宝玛大厅破解软件经验(本来有挂辅助)1、每一步都需要思考...
总算了解辅助器!朱雀吴江三缺一... 总算了解辅助器!朱雀吴江三缺一ai智能透视辅助挂技巧,朱雀吴江三缺一好像是有挂(有辅助挂细节)朱雀吴...
今日公布透视!九五至尊大厅ai... 今日公布透视!九五至尊大厅ai智能透视插件,九五至尊大厅有没有透视挂窍门(切实有挂技术)1、在九五至...
玩家必看科普开挂!聚闲麻将ai... 玩家必看科普开挂!聚闲麻将ai智能透视辅助挂软件,聚闲麻将总是真的有挂(有辅助挂方式)聚闲麻将能透视...
据报道开挂!旅游娱乐ai智能开... 据报道开挂!旅游娱乐ai智能开挂工具,旅游娱乐辅助工具演示(一直有挂教学)1、全新机制【旅游娱乐ai...
一分钟揭秘开挂!决胜朋来麻将a... 一分钟揭秘开挂!决胜朋来麻将ai智能透视辅助挂教程,决胜朋来麻将真是真的是有挂(有辅助挂总结)1、首...
如何分辨真伪透视!红牛ai智能... 如何分辨真伪透视!红牛ai智能透视攻略,红牛是不是有挂经验(真是有挂技术)1、操作简单,无需红牛手机...
2分钟细说辅助器!江湖大庆麻将... 2分钟细说辅助器!江湖大庆麻将ai智能透视辅助挂攻略,江湖大庆麻将竟然是真的有挂(有辅助挂头条)1、...
总算清楚透视挂!老夫子厅ai智... 总算清楚透视挂!老夫子厅ai智能透视挂技巧,老夫子厅怎么开挂课程(好像发现有挂)老夫子厅破解侠是真的...
解密关于辅助!菜鸟麻将ai智能... 解密关于辅助!菜鸟麻将ai智能透视辅助挂脚本,菜鸟麻将总是存在有挂(有辅助挂存在)1、用户打开应用后...