hadoop

  1. Hadoop 的三大结构及各自的作用

• HDFS(Hadoop Distributed File System,Hadoop 分布式文件系统)

◦ 作用:提供高可靠、高吞吐量的海量数据存储服务。它将数据分块存储在不同节点上,支持大规模数据集的存储,具备良好的容错性,某个节点故障时不影响整体数据访问,适合一次写入、多次读取的大数据存储场景 。

• MapReduce

◦ 作用:是一种分布式计算模型,用于大规模数据集的并行计算。它将复杂的计算任务拆分为 Map(映射)和 Reduce(归约)两个阶段,Map 阶段对数据进行并行处理,Reduce 阶段对 Map 结果进行汇总计算,能高效处理海量数据的运算,如日志分析、数据挖掘等任务 。

• YARN(Yet Another Resource Negotiator,另一种资源协调者 )

◦ 作用:负责集群资源的统一管理和调度。它为上层应用提供统一的资源管理和调度平台,可根据应用需求动态分配 CPU、内存等资源,提高集群资源利用率,支持多种计算框架在集群上运行。

  1. YARN 的定义

YARN 是 Hadoop 中的资源管理和调度框架,它将资源管理和作业调度 / 监控功能分离,为集群中运行的各种应用程序(如 MapReduce、Spark 等)提供统一的资源管理和调度服务,使集群资源能更高效、灵活地被使用。

  1. YARN 的三大组件及各自的作用

• ResourceManager(RM,资源管理器)

◦ 作用:负责整个集群的资源管理和分配,是 YARN 的全局资源管理器。它接收来自各个节点的资源汇报,监控集群资源使用情况,并根据应用程序的资源请求,按照一定的调度策略分配资源给 ApplicationMaster 。

• NodeManager(NM,节点管理器)

◦ 作用:运行在每个计算节点上,负责管理本节点的资源(CPU、内存等)和容器(Container)。它接收 ResourceManager 的指令,启动或停止容器,监控容器资源使用情况并向 ResourceManager 汇报。

• ApplicationMaster(AM,应用程序管理器)

◦ 作用:每个应用程序对应一个 ApplicationMaster,负责与 ResourceManager 协商获取资源,与 NodeManager 通信以启动和监控任务容器。它还负责应用程序的生命周期管理,包括任务的监控、容错处理等 。

  1. YARN 的三个资源调度策略

• FIFO(First In First Out,先进先出)

◦ 原理:按照应用程序提交的顺序,先提交的应用先获得资源调度。

◦ 适用场景:适用于集群负载较低、应用对公平性要求不高的场景,简单直观,适合作业较少且无优先级区分的情况 。

• Capacity Scheduler(容量调度器)

◦ 原理:允许多个队列存在,每个队列可设置一定的资源容量(如内存、CPU 比例)。队列内采用 FIFO 调度,同时支持为不同队列设置不同优先级,可根据应用需求动态调整队列资源分配。

◦ 适用场景:适用于多用户、多应用共享集群的场景,能保证每个用户或应用类别有一定的资源份额,实现资源的合理分配,兼顾公平性和灵活性 。

• Fair Scheduler(公平调度器)

◦ 原理:其目标是让所有应用程序随着时间推移都能获取大致公平的资源。当集群有空闲资源时,会将资源分配给资源使用较少的应用,实现应用间资源的动态平衡。

◦ 适用场景:适用于对资源公平性要求较高的场景,多个应用程序竞争资源时,能尽量保证每个应用都有机会获得足够资源,避免资源过度倾斜 。

相关推荐
tcoding2 小时前
《Hadoop 权威指南》笔记
大数据·hadoop·笔记
IvanCodes13 小时前
五、Hadoop集群部署:从零搭建三节点Hadoop环境(保姆级教程)
大数据·hadoop·分布式
IvanCodes19 小时前
七、深入 Hive DDL:管理表、分区与洞察元数据
数据仓库·hive·hadoop
七七-d19 小时前
配置Hadoop集群-上传文件
大数据·hadoop·eclipse
lix的小鱼21 小时前
安装Hadoop并运行WordCount程序
大数据·linux·hadoop
Freedom℡1 天前
使用scp命令拷贝hadoop100中文件到其他虚拟机中
数据库·hadoop·spark
依年南台1 天前
Hadoop的目录结构和组成
大数据·hadoop·分布式
依年南台1 天前
安装Hadoop并运行WordCount程序
大数据·hadoop
依年南台1 天前
Spark处理过程-案例数据清洗
大数据·hadoop