欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > hadoop框架与核心组件刨析(一)基础架构

hadoop框架与核心组件刨析(一)基础架构

2025/3/12 0:54:30 来源:https://blog.csdn.net/2301_79893878/article/details/146090080  浏览:    关键词:hadoop框架与核心组件刨析(一)基础架构

Hadoop是一个开源的分布式计算框架,主要用于存储和处理大规模的数据集。他的设计目标是能在廉价的硬件上创建集群,并提供高吞吐量的数据访问。hadoop和核心架构主要由以下组件构成:

  1. HDFS (Hadoop Distributed File System)

  2. YARN (Yet Another Resource Negotiator)

  3. MapReduce

1. HDFS (Hadoop Distributed File System)

HDFS是Hadoop的分布式文件系统,用于存储大规模数据集。他的设计目标是提供高容错性与高吞吐量。

主要组件:

  • NameNode: 负责管理文件系统的元数据,如文件名、目录结构、文件块的位置等。NameNode 是 HDFS 的主节点。

  • DataNode: 负责存储实际的数据块。DataNode 是 HDFS 的从节点,定期向 NameNode 报告其存储的数据块状态。

  • Secondary NameNode: 辅助 NameNode,定期合并 fsimage 和 edits 文件,以减少 NameNode 的启动时间。

特点:

  • 分布式存储: 数据被分割成多个块,并分布在多个 DataNode 上。

  • 高容错性: 每个数据块都有多个副本(默认是 3 个),存储在不同的 DataNode 上。

  • 高吞吐量: 数据访问模式是“一次写入,多次读取”,适合大数据批处理。

2. YARN (Yet Another Resource Negotiator)

YARN 是 Hadoop 的资源管理框架,负责集群资源的管理和作业调度。

主要组件:

  • ResourceManager (RM): 负责整个集群的资源管理和调度。ResourceManager 是 YARN 的主节点。

  • NodeManager (NM): 负责单个节点的资源管理和任务执行。NodeManager 是 YARN 的从节点,定期向 ResourceManager 报告资源使用情况。

  • ApplicationMaster (AM): 每个应用程序都有一个 ApplicationMaster,负责与 ResourceManager 协商资源,并与 NodeManager 协作执行任务。

特点:

  • 资源管理: YARN 将集群资源(CPU、内存等)统一管理,按需分配给不同的应用程序。

  • 作业调度: YARN 支持多种调度策略,如 FIFO、Capacity Scheduler、Fair Scheduler 等。

  • 多任务支持: YARN 可以同时运行多个应用程序,如 MapReduce、Spark、Flink 等。

3. MapReduce

MapReduce 是 Hadoop 的分布式计算模型,用于处理大规模数据集。它将计算任务分为两个阶段:Map 阶段和 Reduce 阶段。

主要组件:

  • Map 阶段: 将输入数据分割成多个小块,每个小块由一个 Map 任务处理,生成中间键值对。

  • Reduce 阶段: 将 Map 阶段生成的中间键值对按键进行分组,每个分组由一个 Reduce 任务处理,生成最终结果。

特点:

  • 分布式计算: Map 和 Reduce 任务分布在多个节点上并行执行。

  • 容错性: 如果某个任务失败,YARN 会自动重新调度该任务。

  • 高吞吐量: 适合处理大规模数据集,支持批处理任务。

Hadoop架构图:

架构图解析

1. NameNode (HDFS Master)
  • 功能: NameNode 是 HDFS(Hadoop Distributed File System)的主节点,负责管理文件系统的元数据,如文件名、目录结构、文件块的位置等。

  • 作用: 它不存储实际数据,而是存储数据的元信息,并协调 DataNode 的工作。

2. DataNode (HDFS Slave)
  • 功能: DataNode 是 HDFS 的从节点,负责存储实际的数据块。

  • 作用: 数据被分割成多个块并分布存储在多个 DataNode 上,每个数据块通常有多个副本以实现容错。

3. ResourceManager (YARN Master)
  • 功能: ResourceManager 是 YARN(Yet Another Resource Negotiator)的主节点,负责整个集群的资源管理和作业调度。

  • 作用: 它分配集群资源(如 CPU、内存)给不同的应用程序,并管理 NodeManager。

4. NodeManager (YARN Slave)
  • 功能: NodeManager 是 YARN 的从节点,负责单个节点的资源管理和任务执行。

  • 作用: 它监控节点的资源使用情况,并向 ResourceManager 报告。

5. MapReduce (Compute Engine)
  • 功能: MapReduce 是 Hadoop 的分布式计算模型,用于处理大规模数据集。

  • 作用: 它将计算任务分为 Map 和 Reduce 两个阶段,分布式处理数据。

6. ApplicationMaster (Per Application)
  • 功能: ApplicationMaster 是每个应用程序的协调者,负责与 ResourceManager 协商资源,并与 NodeManager 协作执行任务。

  • 作用: 它为每个应用程序(如 MapReduce 作业)管理任务的生命周期

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词