首页 > 其他分享 >Hadoop三大组件之YARN(一)

Hadoop三大组件之YARN(一)

时间:2024-09-29 13:20:37浏览次数:9  
标签:调度 Container ResourceManager ApplicationMaster YARN Hadoop 资源 三大

YARN架构与任务提交流程详解

1. YARN的组成架构

YARN(Yet Another Resource Negotiator)是Hadoop生态系统中的一个重要组成部分,主要用于资源管理和调度。YARN的架构主要由以下几个关键组件构成:

1.1 ResourceManager(RM)

ResourceManager是YARN的核心组件,负责整个集群的资源管理和调度。其主要职责包括:

  • 资源调度:接收来自客户端程序提交的请求,根据资源需求分配容器(Container)。
  • 监控集群资源使用情况:实时监控集群中资源的使用状态。
  • 主要子组件
    • 调度器(Scheduler):根据资源需求和调度策略分配Container。
    • 应用程序管理器(ApplicationManager):负责管理应用程序的生命周期,从启动到完成的全过程。

1.2 NodeManager(NM)

NodeManager负责单个节点上的资源管理。每个节点上运行一个NodeManager,主要功能包括:

  • 资源管理:管理该节点上的所有资源,处理来自ResourceManager和ApplicationMaster的命令。
  • 监控Container:监控Container的资源使用情况,并定期向ResourceManager发送心跳信号,以报告资源状态。
1.2.1 ApplicationMaster(AM)

每个应用程序都有一个独立的ApplicationMaster,负责:

  • 与ResourceManager通信:协调应用程序的资源请求和任务执行。
  • 资源申请:向ResourceManager申请运行任务所需的Container。
1.2.2 Container

Container是YARN中任务运行的基本单位,主要特点包括:

  • 资源封装:封装了CPU、内存等资源概念。
  • 任务执行:RM将资源分配给ApplicationMaster后,创建Container来运行应用程序的任务。

2. YARN的任务提交流程

YARN的任务提交流程主要分为以下几个步骤:

在这里插入图片描述

2.1 提交作业

用户通过客户端向ResourceManager提交作业,包括应用程序代码和所需资源的定义。

2.2 资源请求

ResourceManager收到作业提交请求后,分配一个初始Container来启动ApplicationMaster。

2.3 启动ApplicationMaster

ApplicationMaster在分配的Container中启动,并向ResourceManager进行注册,确认其身份。

2.4 申请资源

ApplicationMaster根据任务需求向ResourceManager申请更多运行任务所需的Container。

2.5 分配资源

ResourceManager根据集群的资源情况,分配所需的Container,并通知ApplicationMaster。

2.6 启动任务

ApplicationMaster与NodeManager进行通信,启动任务Container。

2.7 任务执行

任务在分配的Container中执行,完成后将结果反馈给ApplicationMaster。

2.8 作业完成

ApplicationMaster向ResourceManager报告作业完成,并释放资源,确保资源的高效利用。

3. YARN调度器

YARN的调度器是资源分配的核心,根据不同的需求提供多种调度策略:

在这里插入图片描述

3.1 FIFO调度器

  • 先进先出:所有提交的作业在一个队列中进行服务,按照提交的顺序来运行,先来先服务。

3.2 Capacity Scheduler

  • 容量调度器:将整个集群的资源划分为多个队列,每个队列之间的资源互不干扰。支持生产和开发环境的划分,可以在每个队列内部使用FIFO调度策略。

3.3 Fair Scheduler(公平调度器)

  • 公平调度器:支持多个队列,每个队列配置一定的资源,确保每个队列中的任务公平共享资源。任务优先级越高,分配到的资源也越多,确保每个任务都能获得足够的资源。

标签:调度,Container,ResourceManager,ApplicationMaster,YARN,Hadoop,资源,三大
From: https://blog.csdn.net/m0_58076578/article/details/142617521

相关文章

  • [含文档+PPT+源码等]精品大数据项目-Django基于Hadoop实现的气象分析系统
    大数据项目——Django基于Hadoop实现的气象分析系统的背景,可以从以下几个方面进行阐述:一、技术背景Hadoop的广泛应用:Hadoop是一个由Apache基金会所开发的分布式系统基础架构,它利用集群的威力进行高速运算和存储。Hadoop以其高可靠性、高扩展性、高效性、高容错性等特点,在......
  • 三大硬核方式揭秘:Java如何与底层硬件和工业设备轻松通信!
    大家好,我是V哥,程序员聊天真是三句不到离不开技术啊,这不前两天跟一个哥们吃饭,他是我好多年前的学员了,一直保持着联系,现在都李总了,在做工业互联网相关的项目,真是只要Java学得好,能干一辈子,卷死的是那些半吊子。感谢李总给我分享了工业互联网项目的事情,收获很多,今天的内容来聊一聊......
  • Hadoop三大组件之HDFS(二)
    HDFS常用操作命令Hadoop分布式文件系统(HDFS)提供了灵活且高效的文件管理方式,类似于Linux文件系统。本文将介绍常用的HDFS操作命令,帮助您更好地掌握HDFS的基本操作。1.查看HDFS内容HDFS的目录结构与Linux类似,顶层目录为/。1.1通过浏览器查看可以通过......
  • Flink-Yarn模式修改Task Slot的数量
    1.修改Flink配置文件(flink-conf.yaml)Flink中的TaskManager是根据slots来分配任务的,默认情况下,一个TaskManager可以有多个slots。你可以通过调整flink-conf.yaml中的以下配置来控制每个TaskManager的slot数量:taskmanager.numberOfTaskSlots:<number_of_slots......
  • centos7通过Ambari2.74部署Hadoop
    一、前言服务器:建议第一台内存不少于16G,其他可以8G 软件版本:链接:https://pan.baidu.com/s/17GWF0opxYl0MIm2LJNUGRg?pwd=iq4l提取码:iq4l 二、部署前环境准备以下操作在所有机器上执行1.配置host解析vim/etc/hosts10.0.0.138 hdp01.ambari.com hdp0110.0.0.139 hdp02.ambari.c......
  • centos7编译安装Hadoop3
    一、安装编译相关依赖此篇文档及Hadoop相关文档相关软件包统一在此百度网盘:链接:https://pan.baidu.com/s/11F4THdIfgrULMn2gNcObRA?pwd=cjllyuminstallsnappysnappy-develbzip2bzip2-devellzolzo-devellzoplibXtstlzo-develzlib-developensslopenssl-develncurse......
  • centos7二进制安装Hadoop3
    一、Hadoop简介1.1Hadoop3核心组件HDFS:分布式文件系统:解决海量数据存储YARN:集群资源管理和任务调度框架:解决资源任务调度MapReduce:分布式计算框架:解决海量数据计算1.2Hadoop集群简介Hadoop集群包括两个集群:HDFSYARN两个集群逻辑上分离(互不影响、互不依赖)物理上一......
  • Hadoop高可用集群搭建
    一、HDFSHA简介1.1 QJM简介1.QuorumJournalManager(仲裁日志管理器),是Hadoop官方推荐的HDFSHA解决方案之一2.使用zookeeper中ZKFC来实现主备切换;3.使用JournalNode(JN)集群实现editslog的共享以达到数据同步的目的1.2主备切换问题解决方案--ZKFailoverController(zkfc)ZKFailo......
  • centos7通过CDH部署Hadoop
    一、角色分配及安装环境准备资料下载地址:链接:百度网盘1.机器及机器角色规划2.关闭防火墙及SELinux3.安装依赖(server)redhat-lsb-core4.配置hosts解析192.168.1.136hadoop01192.168.1.137hadoop02192.168.1.138hadoop035.配置ClouderaManageryum仓库(server)#服务端配置y......
  • Hadoop简介
    一、什么是HadoopHadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。 Hadoop实现了一个分布式文件系统(HadoopDistributedFileSystem),简称HDFS。HDFS有高容错性的特点,并且设......