热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

资源调度框架YARN

hadoop1.x中MapReduce存在的问题:1.单点2.节点压力大YARN:YetAnotherResourceNegotiator(另外一种资源协调者)是一个通用的资源

hadoop1.x中MapReduce存在的问题:1.单点2.节点压力大

YARN:Yet Another Resource Negotiator(另外一种资源协调者)
是一个通用的资源管理系统,可为上层应用提供统一的资源管理和调度。
它的引入为集群在利用率,资源统一管理和数据共享等方面带来了巨大的好处

YARN架构:

    核心组件:
ResourceManager
NodeManager
ApplicationMaster
Container

master和slaves结构:一个ResourceManager对应多个NodeManager。

ResourceManager在整个集群中处于活跃状态的只有一个,负责集群资源的统一管理和调度

  1. 处理客户端发起的请求(启动/杀死应用程序)
  2. 启动/监控ApplcationMaster,如果AM挂了,RM将会在另一个节点上启动AM
  3. RM要监控NodeManager,
  4. 整个系统的资源分配和调度

NodeManager:整个集群中有多个,负责自己节点的资源使用和管理

  1. 定时向RM汇报本节点上资源使用情况和各个Container的运行情况
  2. 接受和处理来自RM的关于Container启动和停止的各种命令
  3. 处理来自AM的命令
  4. 本节点上的资源管理和任务管理

ApplicationMaster:每个应用程序一个AM,负责应用程序的管理。

  1. 数据的切分
  2. 为应用程序向RM申请资源(Container),分配内部任务
  3. 与NM通信以启动/停止任务,Task都是运行在Container中的
  4. Task的容错

Container:对任务运行环境的封装,CPU,内存等这些资源以及环境变量、启停命令等等与任务相关的信息

Yarn的资源调度(以mapreduce作业提交为例)

  1. 客户端提交作业请求
  2. ResourceManager响应一个Application ID
  3. 上传作业(jar包)到共享文件系统(HDFS)
  4. 根据NodeManager,RM分配资源
  5. NodeManager启动application master
  6. 启动任务(任务的进程叫yarnChild,资源都会本地化)
  7. 结束

这里写图片描述

总结:
在Hadoop2中有了yarn之后,我们可以将多种不同类型的作业(MR, Spark,Tez)都运行在一个集群中,统一由yarn来进行调度,充分利用集群的资源


推荐阅读
  • hadoop3.1.2 first programdefault wordcount (Mac)
    hadoop3.1.2安装完成后的第一个实操示例程 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • Presto:高效即席查询引擎的深度解析与应用
    本文深入解析了Presto这一高效的即席查询引擎,详细探讨了其架构设计及其优缺点。Presto通过内存到内存的数据处理方式,显著提升了查询性能,相比传统的MapReduce查询,不仅减少了数据传输的延迟,还提高了查询的准确性和效率。然而,Presto在大规模数据处理和容错机制方面仍存在一定的局限性。本文还介绍了Presto在实际应用中的多种场景,展示了其在大数据分析领域的强大潜力。 ... [详细]
  • Hadoop 2.6 主要由 HDFS 和 YARN 两大部分组成,其中 YARN 包含了运行在 ResourceManager 的 JVM 中的组件以及在 NodeManager 中运行的部分。本文深入探讨了 Hadoop 2.6 日志文件的解析方法,并详细介绍了 MapReduce 日志管理的最佳实践,旨在帮助用户更好地理解和优化日志处理流程,提高系统运维效率。 ... [详细]
  • 本文详细介绍了HDFS的基础知识及其数据读写机制。首先,文章阐述了HDFS的架构,包括其核心组件及其角色和功能。特别地,对NameNode进行了深入解析,指出其主要负责在内存中存储元数据、目录结构以及文件块的映射关系,并通过持久化方案确保数据的可靠性和高可用性。此外,还探讨了DataNode的角色及其在数据存储和读取过程中的关键作用。 ... [详细]
  • Hadoop的分布式架构改进与应用
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
  • Android中将独立SO库封装进JAR包并实现SO库的加载与调用
    在Android开发中,将独立的SO库封装进JAR包并实现其加载与调用是一个常见的需求。本文详细介绍了如何将SO库嵌入到JAR包中,并确保在外部应用调用该JAR包时能够正确加载和使用这些SO库。通过这种方式,开发者可以更方便地管理和分发包含原生代码的库文件,提高开发效率和代码复用性。文章还探讨了常见的问题及其解决方案,帮助开发者避免在实际应用中遇到的坑。 ... [详细]
  • Spring框架的核心组件与架构解析 ... [详细]
  • 构建高可用性Spark分布式集群:大数据环境下的最佳实践
    在构建高可用性的Spark分布式集群过程中,确保所有节点之间的无密码登录是至关重要的一步。通过在每个节点上生成SSH密钥对(使用 `ssh-keygen -t rsa` 命令并保持默认设置),可以实现这一目标。此外,还需将生成的公钥分发到所有节点的 `~/.ssh/authorized_keys` 文件中,以确保节点间的无缝通信。为了进一步提升集群的稳定性和性能,建议采用负载均衡和故障恢复机制,并定期进行系统监控和维护。 ... [详细]
  • Hadoop——实验七:MapReduce编程实践
    文章目录一.实验目的二.实验内容三.实验步骤及结果分析 1.基于ubuntukylin14.04(7)版本,安装hadoop-eclipse-kepler-plugi ... [详细]
  • centos x64搭建 hadoop2.4.1 HA
    HadoopHA的实现方式上图大致架构包括:1、利用共享存储来在两个NN间同步edits信息。以前的HDFS是sharenothingbutNN,现在NN又sharestorage ... [详细]
  • hadoop完全分布式搭建
    原文链接:hadoop完全分布式搭建主机分配以及地址要求:角色主机名IP地址Namenodemaster192.168.222.201Datanodeslave ... [详细]
  • 本文介绍了在sqoop1.4.*版本中,如何实现自定义分隔符的方法及步骤。通过修改sqoop生成的java文件,并重新编译,可以满足实际开发中对分隔符的需求。具体步骤包括修改java文件中的一行代码,重新编译所需的hadoop包等。详细步骤和编译方法在本文中都有详细说明。 ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
author-avatar
go800li
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有