[Spark]Spark、Yarn 入门
Spark在集群上的运行模式
链接:
http://spark.apache.org/docs/latest/cluster-overview.html Component章节
总结:
1 Each application gets its own executor processes,所以各application间是独立的。
2 spark可以使用多种 cluster manager,包括 Spark’s own standalone cluster manager, Mesos or YARN。
3 driver program 需要监听和接收its executors,所以driver对于各executers必须是网络可达的。
4 因为driver调度tasks on the cluster, 所以driver节点和worker节点最好在一个局域网中。
Spark重要概念
- Driver:这是监督Spark作业或程序端到端执行的主程序。 它与集群的资源管理器进行资源的协商,并将程序编排成尽可能小的数据本地并行编程单元。
- Executors:在任何Spark任务中,可以有一个或多个executor,即执行由drive委派的较小任务的进程。 executor处理数据,最好是本地节点的,并将结果存储在内存和/或磁盘中。
- Job:这是对任何一组数据执行的操作的集合。 典型的word count job涉及从任意来源读取文本文件,然后分离(splitting)并聚合(aggregating)这些字。
- Task:一个job可以拆分成更小的单位,以被称为task的孤立任务进行操作。 每个task由executor在一个数据分区上执行。
- DAG:Spark引擎中的任何Spark工作都由DAG的操作代表。 DAG按顺序表示Spark操作的逻辑执行。
- Stages:Spark作业可以按逻辑划分为多个stage,每个stage代表一组具有相同的shuffle依赖关系的任务,即发生数据shuffle的任务。注:shuffle 是划分 DAG 中 stage 的标识,同时影响 Spark 执行速度的关键步骤.
Spark on Yarn
Yarn
yarn最基本的思想是分离资源管理和job调度/监管。
yarn三大组件:
- ResourceManager :负责整个集群的资源管理和分配,是一个全局的资源管理系统
- 两个核心组件:Scheduler 、ApplicationsManager。
- 调度器负责根据熟悉的容量、队列等约束,将资源分配给各种正在运行的应用程序。调度器不执行应用程序状态的监视或跟踪。
- 应用程序管理器负责接受作业提交,协商第一个容器以执行特定于应用程序的应用程序主机,并提供用于在失败时重新启动应用程序主容器的服务。每个应用程序管理器负责从调度程序协商适当的资源容器,跟踪其状态并监视进度。
- NodeManager:是每个节点上的资源和任务管理器,它是管理这台机器的代理,负责该节点程序的运行,以及该节点资源的管理和监控
- ApplicationMaster: 用 户 提 交 的 每 个 应 用 程 序 均 包 含 一 个 ApplicationMaster , 它 可 以 运 行 在ResourceManager 以外的机器上。负责与 RM 调度器协商以获取资源(用 Container 表示)。
- ResourceManager :负责整个集群的资源管理和分配,是一个全局的资源管理系统
yarn 只提供运算资源的调度(用户程序向 yarn 申请资源,yarn 就负责分配资源)
yarn与运行的用户程序完全解耦,意味着yarn上可以运行各种类型的分布式运算程序,比如 mapreduce、storm,spark,
Spark on Yarn
- 链接:http://spark.apache.org/docs/latest/running-on-yarn.html
- 总结:两种模式:cluster、client
$ ./bin/spark-submit --class path.to.your.Class --master yarn --deploy-mode cluster [options] [app options]
$ ./bin/spark-shell --master yarn --deploy-mode client
参考链接
https://blog.csdn.net/qq_33624952/article/details/79341034
https://blog.csdn.net/minge_se/article/details/79137085
[Spark]Spark、Yarn 入门的更多相关文章
- Spark on Yarn | Spark,从入门到精通
?/ 为什么需要 Yarn? /? Yarn?的全称是?Yet Anther Resource Negotiator(另一种资源协商者).它作为 Hadoop?的一个组件,官方对它的定义是一个工作调度 ...
- Spark中文指南(入门篇)-Spark编程模型(一)
前言 本章将对Spark做一个简单的介绍,更多教程请参考:Spark教程 本章知识点概括 Apache Spark简介 Spark的四种运行模式 Spark基于Standlone的运行流程 Spark ...
- Spark on Yarn 集群运行要点
实验版本:spark-1.6.0-bin-hadoop2.6 本次实验主要是想在已有的Hadoop集群上使用Spark,无需过多配置 1.下载&解压到一台使用spark的机器上即可 2.修改配 ...
- 转载:Spark中文指南(入门篇)-Spark编程模型(一)
原文:https://www.cnblogs.com/miqi1992/p/5621268.html 前言 本章将对Spark做一个简单的介绍,更多教程请参考:Spark教程 本章知识点概括 Apac ...
- Spark on YARN的部署
Spark on YARN的原理就是依靠yarn来调度Spark,比默认的Spark运行模式性能要好的多,前提是首先部署好hadoop HDFS并且运行在yarn上,然后就可以开始部署spark on ...
- 配置Spark on YARN集群内存
参考原文:http://blog.javachen.com/2015/06/09/memory-in-spark-on-yarn.html?utm_source=tuicool 运行文件有几个G大,默 ...
- Spark on Yarn 学习(一)
最近看到明风的关于数据挖掘平台下实用Spark和Yarn来做推荐的PPT,感觉很赞,现在基于大数据和快速计算方面技术的发展很快,随着Apache基金会上发布的一个个项目,感觉真的新技术将会不断出现在大 ...
- Spark on Yarn:任务提交参数配置
当在YARN上运行Spark作业,每个Spark executor作为一个YARN容器运行.Spark可以使得多个Tasks在同一个容器里面运行. 以下参数配置为例子: spark-submit -- ...
- 运行 Spark on YARN
运行 Spark on YARN Spark 0.6.0 以上的版本添加了在yarn上执行spark application的功能支持,并在之后的版本中持续的 改进.关于本文的内容是翻译官网的内容,大 ...
随机推荐
- 大侠稍等!URL 中为何出现奇怪的字符
为什么中文名称的图片打开后网址是一串乱码?为什么好好的短网址复制粘贴就变长了一大长串?罪魁祸首居然是-- 杭州终于出梅了!二狗子看到气象台发布的消息,开心的不得了.杭州的雨从五月底一直下,每天除了雨还 ...
- 性能测试必备知识(10)- Linux 是怎么管理内存的?
做性能测试的必备知识系列,可以看下面链接的文章哦 https://www.cnblogs.com/poloyy/category/1806772.html 内存映射 日常生活常说的内存是什么 比方说, ...
- Golang笔记整理--One day
题外话: 很早就有整理学习笔记的想法,今天将想法付诸于行动,将Golang相关知识系统整理一遍,此分类为Golang学习笔记,最近开始学习这门语言的同学可以参考. 一 第一个Go程序: hello.g ...
- SpringBoot---关于 WebMvcConfigurerAdapter 过时问题及解决方法
SpringBoot---关于 WebMvcConfigurerAdapter 过时问题及解决方法 环境: IDEA :2020.1 Maven:3.5.6 SpringBoot: 2.3.2 在Sp ...
- SpringBoot ---yml 整合 Druid(1.1.23) 数据源
SpringBoot ---yml 整合 Druid(1.1.23) 数据源 搜了一下,网络上有在配置类写 @Bean 配置的,也有 yml 配置的. 笔者尝试过用配置类配置 @Bean 的方法,结果 ...
- MIT 6.828 | JOS | 关于虚拟空间和物理空间的总结
Question: 做lab过程中越来越迷糊,为什么一会儿虚拟地址是4G 物理地址也是4G ,那这有什么作用呢? 解决途径: 停下来,根据当前lab的进展,再回头看上学期操作系统的ppt & ...
- Scala中的函数高级使用
1.偏函数 1.基本介绍 在对符合某个条件,而不是所有情况进行逻辑操作时,使用偏函数是一个不错的选择 将包在大括号内的一组case语句封装为函数,我们称之为偏函数,它只对会作用于指定类型的参数或指定范 ...
- Hibernate在MySQL中查询区分大小写
MySQL查询中默认是不区分大小写的,比如如下语句: SELECT * from PersonBehDevice where flag=0 AND devicecode ='ddjc' 查询结果如下: ...
- DVWA之文件包含(一)
文件包含又可以是本地文件包含或远程文件包含. 本地文件包含:文件存在本地目录 远程文件包含:文件共享或存在网络上,需要访问 <?php // The page we wish to displa ...
- 使用Wasserstein GAN生成小狗图像
一.前期学习经过 GAN(Generative Adversarial Nets)是生成对抗网络的简称,由生成器和判别器组成,在训练过程中通过生成器和判别器的相互对抗,来相互的促进.提高.最近一段时间 ...