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(公平调度器)

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

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

相关推荐
zzu123zsw2 小时前
01-Hadoop简介与生态系统
hadoop
鸿儒之观2 小时前
hadoop 框架 jar下载
大数据·hadoop·jar
2302_799525743 小时前
【Hadoop】Hadoop集群安装中出现的问题
linux·hadoop
IT研究室5 小时前
大数据毕业设计选题推荐-基于大数据的分化型甲状腺癌复发数据可视化分析系统-Spark-Hadoop-Bigdata
大数据·hadoop·信息可视化·spark·毕业设计·源码·bigdata
计算机编程小央姐5 小时前
数据安全成焦点:基于Hadoop+Spark的信用卡诈骗分析系统实战教程
大数据·hadoop·python·spark·毕业设计·课程设计·dash
BYSJMG6 小时前
大数据毕业设计推荐:基于Spark的零售时尚精品店销售数据分析系统【Hadoop+python+spark】
大数据·hadoop·python·spark·django·课程设计
项目題供诗1 天前
Hadoop(七)
大数据·hadoop·分布式
小蒜学长1 天前
基于Hadoop的网约车公司数据分析系统设计(代码+数据库+LW)
java·大数据·数据库·hadoop·spring boot·后端
计算机毕设残哥1 天前
数据量太大处理不了?Hadoop+Spark轻松解决海洋气象大数据分析难题
大数据·hadoop·python·数据分析·spark·django·dash
Lx3521 天前
Hadoop数据处理流水线设计:提高作业执行效率
大数据·hadoop