前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Spark on Yarn 架构解析

Spark on Yarn 架构解析

作者头像
用户3003813
发布于 2018-09-06 05:26:43
发布于 2018-09-06 05:26:43
1.4K0
举报
文章被收录于专栏:个人分享个人分享

一、Hadoop Yarn组件介绍:

我们都知道yarn重构根本的思想,是将原有的JobTracker的两个主要功能资源管理器任务调度监控 分离成单独的组件。新的架构使用全局管理所有应用程序的计算资源分配。 主要包含三个组件ResourceManagerNodeManagerApplicationMaster以及一个核心概念Container.

1.ResourceManager(RM)

   就是所谓的资源管理器,每个集群一个,实现全局的资源管理和任务调度。它可以处理客户端提交计算作业的请求,启动并监听ApplicationMaster,监控NodeManager,进行资源分配与调度。每一个应用程序需要不同类型的资源,因此就需要不同的容器。这里的资源包括内存、CPU、磁盘、网络等。(比如使用spark-submit 执行程序jar包,就需要向ResourceManager注册,申请相应的容器,资源),其中该ResourceManager提供一个调度策略的插件,负责将集群资源分配给多个队列和应用程序.(可以基于现有的能力调度和公平调度模型)

2.NodeManager(NM)

     节点管理器,每个节点一个,实现节点的监控与报告。处理来自ResourceManager的命令,也处理来自ApplicationMaster的命令,同时监控资源可用性,报告错误,管理资源的生命周期。NodeManager是每一台机器框架的代理,是执行应用程序的容器,监控应用程序的资源使用情况(CPU、内存、硬盘、网络)并向调度器汇报。

3.ApplicationMaster(AM)

     应用控制器,每个作业或应用一个,实现应用的调度和资源协调。具体来说呢,它进行数据的切分,为应用申请资源并分配给任务,完成任务监控与容错。实际上,每个应用的ApplicationMaster是一个详细的框架库。它结合从ResourceManager获得的资源和NodeManager协同工作来运行和监听任务。ApplicationMaster负责向ResourceManager索要适当的资源容器(containter)来运行任务,跟踪应用程序的状态和监控她们的进程,处理任务的失败原因。

4.Container

   容器,封装了及其资源,包括内存、CPU、磁盘、网络等。每个任务会被分配一个容器,该任务只能在该容器中执行,并使用该容器封装的资源。当应用程序发出资源请求时,ResourceManager并不会立刻返回满足要求的资源,需要ApplicationMaster与ResourceManager不断地通信,检测分配到的资源足够,才会进行分配。一旦分配完毕,ApplicationMaster便可从ResourceManager处获取以Container表示的资源。(Container可以看做一个可序列化的Java对象,包含字段信息)一般来说,每个Container可用于执行一个任务。ApplicationMaster在收到一个或多个Container后,再将该Container进一步分配给内部的某个任务,确定该任务后,ApplicationMaster将该任务运行环境(包含运行命令、环境变量、依赖的外部文件等)连同Container中的资源信息封装到ContainerLaunchContext对象中,进而与对应的NodeManager通信,启动该任务。

二、Spark on Yarn

1.当提交一个spark-submit任务时,spark将在startUserClass函数专门启动了一个线程(名称为Driver的线程)来启动用户提交的Application,也就是启动了Driver。在Driver中将会初始化SparkContext。

2.等待SparkContext初始化完成,最多等待spark.yarn.applicationMaster.waitTries次数(默认为10),如果等待了的次数超过了配置的,程序将会退出;否则用SparkContext初始化yarnAllocator.

3.当SparkContext、Driver初始化完成的时候,通过ApplicationMasterClient向ResourceManager注册ApplicationMaster.

4.分配并启动Executeors。在启动Executeors之前,先要通过yarnAllocator获取到numExecutors个Container,然后在Container中启动Executeors。(启动Executeors是通过ExecutorRunnable实现的,而ExecutorRunnable内部是启动CoarseGrainedExecutorBackend的)

5.最后,Task将在CoarseGrainedExecutorBackend里面运行,然后运行状况会通过Akka通知CoarseGrainedScheduler,直到作业运行完成。

Spark on Yarn只需要部署一份spark,当应用程序启动时,spark会将相关的jar包上传注册给ResoureManager,任务的执行由ResourceManager来调度,并执行spark的代码。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-01-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
【白话科普】10分钟从零看懂AI绘画原理
👉腾小云导读 计算机如何生成和真实图片相似的图画?模型是如何听懂我们想要它生成什么并给出对应结果?AIGC 热潮中的 Stable Diffusion、NovelAI、Latent upscale、ControlNet、LoRA等等是什么以及有什么亮点?本篇不涉及任何一个数学公式、不涉及晦涩文献解析,而是通过尽可能直白的解释,让没有太多AIGC背景知识的人也可以快速理解 AI 画画背后的技术原理和发展历史。欢迎阅读和分享。 👉看目录点收藏,随时涨技术 1. 计算机如何生成图画? 2. 如何控制画面内容?  
腾讯云开发者
2023/04/13
4.4K0
【白话科普】10分钟从零看懂AI绘画原理
读了那么多GANs的原理,还是不懂怎么用!两个案例教教你
编译|AI科技大本营(rgznai100) 参与 | 尚岩奇、周翔 生成式对抗网络(GANs)是一类用于解决无监督学习问题的神经网络,它们可以完成各种任务,例如通过描述生成图像,利用低分辨率图像还原出
AI科技大本营
2018/04/26
1K0
读了那么多GANs的原理,还是不懂怎么用!两个案例教教你
生成对抗网络(GAN)的18个绝妙应用
生成模型指在现存样本的基础上,使用模型来生成新案例,比如,基于现存的照片集生成一组与其相似却有细微差异的新照片。
昱良
2019/10/28
19.8K0
生成对抗网络(GAN)的18个绝妙应用
深度神经网络生成模型:从 GAN VAE 到 CVAE-GAN
作者 | Blink·禀临科技 联合创始人·彭博 整理 | AI科技大本营(rgznai100) 在几年前,深度神经网络的热门话题是分类问题: 给定一张图 x,神经网络可以告诉你其中是什么内容,或者说属于什么类别 c。 而近年来,深度神经网络的热门话题是生成模型,它想做的事情相反: 给定一个类别 c,神经网络就可以无穷无尽地自动生成真实而多变的此类别的图像 x。 这无疑听上去更神奇,也更困难。 这里介绍的 CVAE-GAN 方法,其论文是 Fine-Grained Image Generation th
AI科技大本营
2018/04/28
1.9K0
深度神经网络生成模型:从 GAN VAE 到 CVAE-GAN
基于微软开源深度学习算法,用 Python 实现图像和视频修复
‍‍ 作者 | 李秋键 编辑 | 夕颜 出品 | AI科技大本营(ID:rgznai100) 图像修复是计算机视觉领域的一个重要任务,在数字艺术品修复、公安刑侦面部修复等种种实际场景中被广泛应用。图像修复的核心挑战在于为缺失区域合成视觉逼真和语义合理的像素,要求合成的像素与原像素具有一致性。 传统的图像修复技术有基于结构和纹理两种方法。基于结构的图像修复算法具有代表性的是 Bertalmio 等提出的BSCB模型和 Shen 等提出的基于曲率扩散的修复模型 CDD。基于纹理的修复算法中具有代表性的有
AI科技大本营
2023/05/08
5720
基于微软开源深度学习算法,用 Python 实现图像和视频修复
GAN应用情况调研
在此之前呢,先推荐大家去读一下一篇新的文章LS-GAN(Loss-sensitive GAN)[1]。
CreateAMind
2018/07/24
6710
GAN应用情况调研
提高驾驶技术:用GAN去除(爱情)动作片中的马赛克和衣服
作者:達聞西 量子位 已获授权编辑发布 作为一名久经片场的老司机,早就想写一些探讨驾驶技术的文章。这篇就介绍利用生成式对抗网络(GAN)的两个基本驾驶技能: 1) 去除(爱情)动作片中的马赛克 2)
量子位
2018/03/29
1.5K0
提高驾驶技术:用GAN去除(爱情)动作片中的马赛克和衣服
不可错过的 GAN 资源:教程、视频、代码实现、89 篇论文下载
【新智元导读】这是一份生成对抗(神经)网络的重要论文以及其他资源的列表,由 Holger Caesar 整理,包括重要的 workshops,教程和博客,按主题分类的重要论文,视频,代码等,值得收藏学习。 目录 Workshops 教程 & 博客 论文 理论 & 机器学习 视觉应用 其他应用 幽默 视频 代码 Workshops NIP 2016 对抗训练 Workshop 【网页】https://sites.google.com/site/nips2016adversari
新智元
2018/03/28
2.4K0
没钱买华为P30?这个图像超分辨率项目帮你「拍」出高清照片
相机不够算法凑,拥有超级拍照能力的手机也离不开算法的加持。本文介绍的图像超分辨率项目可以帮你补齐相机镜头的短板。
机器之心
2019/04/29
9070
没钱买华为P30?这个图像超分辨率项目帮你「拍」出高清照片
开发 | 提高驾驶技术:用GAN去除(爱情)动作片中的马赛克和衣服
作为一名久经片场的老司机,早就想写一些探讨驾驶技术的文章。这篇就介绍利用生成式对抗网络(GAN)的两个基本驾驶技能: 1) 去除(爱情)动作片中的马赛克 2) 给(爱情)动作片中的女孩穿(tuo)衣服 生成式模型 上一篇《用GAN生成二维样本的小例子》中已经简单介绍了GAN,这篇再简要回顾一下生成式模型,算是补全一个来龙去脉。 生成模型就是能够产生指定分布数据的模型,常见的生成式模型一般都会有一个用于产生样本的简单分布。例如一个均匀分布,根据要生成分布的概率密度函数,进行建模,让均匀分布中的样本经过变换得到
AI科技评论
2018/03/13
1.4K0
开发 | 提高驾驶技术:用GAN去除(爱情)动作片中的马赛克和衣服
基于Python的卷积神经网络和特征提取
作者:Christian S.Peron 译者:刘帝伟 摘要:本文展示了如何基于nolearn使用一些卷积层和池化层来建立一个简单的ConvNet体系结构,以及如何使用ConvNet去训练一个特征提取器,然后在使用如SVM、Logistic回归等不同的模型之前使用它来进行特征提取。 卷积神经网络(ConvNets)是受生物启发的MLPs(多层感知器),它们有着不同类别的层,并且每层的工作方式与普通的MLP层也有所差异。如果你对ConvNets感兴趣,这里有个很好的教程CS231n – Convolution
用户1737318
2018/06/05
1.3K0
【干货】神经增强:用 Python 实现深度学习超分辨率处理
【新智元导读】神经网络基于样本图像的训练为模糊图像补充细节,从而把模糊图像变高清。它不能把你的照片重建成一模一样的高清版。这只有好莱坞大片才有可能做到——但使用深度学习和神经增强(Neural Enhance)实现的“创造性 AI”作品同样很酷! 想得到如《犯罪现场调查》中CSI实验室那种提高照片清晰度的技术吗?感谢深度学习和神经增强(#NeuralEnhance)技术,现在已经能够训练一个神经网络把照片放大 2 倍,甚至 4 倍。通过增加神经元数目或使用与你的低分辨率图像相似的数据集进行训练,甚至能得到更
新智元
2018/03/26
4.1K0
【干货】神经增强:用 Python 实现深度学习超分辨率处理
无监督学习︱GAN 在 NLP 中遇到瓶颈+稀疏编码自学习+对偶学习
一年前,网友在 reddit 上提问道,生成式对抗网络 GAN 是否可以应用到自然语言处理上。GAN 理论的提出者,OpenAI 的科学家,深度学习理论奠基人之一 Yoshua Bengio 的得意门生 Ian Goodfellow 博士回答了这个问题:
悟乙己
2019/05/26
1.4K0
火热的生成对抗网络(GAN),你究竟好在哪里
自2014年Ian Goodfellow提出生成对抗网络(GAN)的概念后,生成对抗网络变成为了学术界的一个火热的研究热点,Yann LeCun更是称之为”过去十年间机器学习领域最让人激动的点子”.生成对抗网络的简单介绍如下,训练一个生成器(Generator,简称G),从随机噪声或者潜在变量(Latent Variable)中生成逼真的的样本,同时训练一个鉴别器(Discriminator,简称D)来鉴别真实数据和生成数据,两者同时训练,直到达到一个纳什均衡,生成器生成的数据与真实样本无差别,鉴别器也无法正确的区分生成数据和真实数据.GAN的结构如图1所示.
CreateAMind
2018/07/24
1K0
火热的生成对抗网络(GAN),你究竟好在哪里
基于CPPN与GAN+VAE生成高分辨率图像
来源:otoro 编译:weakish 在之前的文章中,hardmaru讨论了一种生成算法,可以在诸如MNIST或CIFAR-10这样的低分辨率图像上训练,以任意高的分辨率生成数字图像。这篇文章探索了之前模型的一些变化,以生成更有趣的结果。 具体来说,我们删除了在变分自编码器中使用的像素到像素的重构损失函数。我们用一个分类网络取代了用于检测虚假图像的判别网络。之前使用的生成网络是一个相对较大的网络,包含由128个全连接节点组成的4层网络,我们尝试用一个更深的网络来取代之前的生成网络,新网络有96层,但每层只
企鹅号小编
2018/01/16
8540
基于CPPN与GAN+VAE生成高分辨率图像
【新手必备】GAN生成对抗网络论文阅读路线图(附论文下载链接)
作者:İdil Sülo, Middle East Technical University
新智元
2018/12/06
9380
大会 | 腾讯优图CVPR 2018论文:图片去模糊及快速肖像处理等多项技术解读
AI 科技评论按:CVPR 2018 将在美国盐湖城举行。腾讯优图实验室继在 ICCV 有 12 篇论文被收录(含 3 篇口头报告)后,在今年的 CVPR 2018 上有多篇论文被录用,也凭借这一点在雷锋网学术频道 AI 科技评论旗下数据库项目「AI 影响因子」中有相应展示。
AI科技评论
2018/07/26
6100
大会 | 腾讯优图CVPR 2018论文:图片去模糊及快速肖像处理等多项技术解读
生成对抗网络(GANs )诞生以来的主要技术进展
关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第二 【Python】:排名第三 【算法】:排名第四 来源:雷锋网 两年前,蒙特利尔大学 Ian Goodfellow 等学者提出“生成对抗网络”(Generative Adversarial Networks,GANs)的概念,并逐渐引起 AI 业内人士的注意。其实,直到 2015 年,生成对抗网络还称不上是炙手可热。但自今年以来,学界、业界对 GANs 的兴趣出现“井喷”: 多篇重磅论文陆续发表; Facebook、Open AI 等
昱良
2018/04/08
7790
生成对抗网络(GANs )诞生以来的主要技术进展
TensorFlow 卷积神经网络实用指南:6~10
本章将介绍一种与到目前为止所看到的模型稍有不同的模型。 到目前为止提供的所有模型都属于一种称为判别模型的模型。 判别模型旨在找到不同类别之间的界限。 他们对找到P(Y|X)-给定某些输入X的输出Y的概率感兴趣。 这是用于分类的自然概率分布,因为您通常要在给定一些输入X的情况下找到标签Y。
ApacheCN_飞龙
2023/04/23
6930
资料 | 生成对抗网络(GAN)论文阅读路线图【打包下载】
为了帮助其他想要了解更多关于GAN技术的人,我想按照我阅读的顺序分享一些我读过的文章。在阅读这些论文之前,如果您不熟悉这些论文,我建议您学习一些深度学习的基础知识。 我也相信其中一些论文背后的数学可能非常困难,所以如果你觉得不舒服,你可以跳过这些部分。
昱良
2018/12/06
4980
推荐阅读
相关推荐
【白话科普】10分钟从零看懂AI绘画原理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档