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

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

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

相关推荐
牛奶咖啡131 天前
大数据Hadoop运维应用实践——Hadoop平台常见问题与故障汇总、系统调优、网络规划与硬件存储选型
大数据·hadoop·hadoop集群操作系统调优·hadoop集群运维问题汇总·hadoop集群硬件规划·大数据平台网络规划·大数据平台硬件存储选型
雨晨源码(同名B站)1 天前
基于Python的网易云音乐评论数据情感化分析系统 音乐爬虫信息可视化 |SnowNLP评论情感分析
开发语言·hadoop·爬虫·python·信息可视化·毕业设计
赤土 炙焱2 天前
hiveserver2启动失败,磁盘满了
hive·hadoop
Francek Chen2 天前
【大数据处理与分析】数据仓库Hive:02 数据湖
大数据·数据仓库·hive·hadoop·分布式·数据分析
Blossom i4 天前
Python+spark2.0+Hadoop机器学习与大数据实战第十一章:Python Spark的集成开发环境
大数据·hadoop·spark
我要用代码向我喜欢的女孩表白5 天前
hdfs获取所有路径大小的脚本
大数据·hadoop·hdfs
Waay5 天前
什么是HBase?它和Hive有什么区别?
大数据·数据库·hive·hadoop·hdfs·hbase
fastjson_6 天前
Hadoop之Yarn
大数据·hadoop·npm
fastjson_6 天前
Hive的介绍和使用
数据仓库·hive·hadoop
光电的一只菜鸡8 天前
小白从零开始学agent(二)——如何高效编写 Prompt 与 Skill
hadoop·microsoft·prompt