[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的功能支持,并在之后的版本中持续的 改进.关于本文的内容是翻译官网的内容,大 ...
随机推荐
- python关于函数调用作为参数的说明&&装饰器
python关于函数调用作为参数的说明&&装饰器 简单的: 先看代码: def out(): print('out') def inner(): return 'inner' retu ...
- SQL Server中row_number函数的简单用法
一.SQL Server Row_number函数简介 ROW_NUMBER()是一个Window函数,它为结果集的分区中的每一行分配一个连续的整数. 行号以每个分区中第一行的行号开头. 以下是R ...
- 【AI 算法评测】BERT 对 NLP 效果的改善,不负众望!
AI 在各大领域的发展有目共睹,而作为人工智能皇冠上的明珠--自然语言处理却成果了了,大多实现或者以半成品的形式躺在实验室中,或者仅仅作为某个产品的辅助功能.而这一情况在 BERT 出现后出现了很大的 ...
- CSS动画实例:Loading加载动画效果(三)
3.小圆型Loading 这类Loading动画的基本思想是:在呈现容器中定义1个或多个子层,再对每个子层进行样式定义,使得其均显示为一个实心圆形,最后编写关键帧动画控制,使得各个实心圆或者大小发生改 ...
- CentOS 7.3安装指南
下载CentOs 7.3 1.ISO 镜像启动完成后,你机器上会显示如下首屏.在菜单中选择 “Install CentOS 7”并按下回车继续. 2.在安装镜像加载到内存完成后,会显示一个欢迎页面.选 ...
- rabbit rpm地址
rabbitmq 官方源: https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/ erlang 清华源(包含erlang所有版本): https:/ ...
- HM16.0之帧间预测——xCheckRDCostInter()函数
参考:https://blog.csdn.net/nb_vol_1/article/category/6179825/1? 1.源代码: #if AMP_MRG Void TEncCu::xCheck ...
- mysql高级内容学习总结
创建索引 create [unique] index indexname on tablename(columnname(length)) alter tablename add [unique] i ...
- Java面试题(多线程篇)
多线程 35.并行和并发有什么区别? 1.并行是指两个或者多个事件在同一时刻发生:而并发是指两个或多个事件在同一时间间隔发生. 2.并行是在不同实体上的多个事件,并发是在同一实体上的多个事件. 3.在 ...
- oracle再回首
第一章 Oracle 数据库的使用 一. 数据库相关概念 1 什么是数据库 所谓的数据库其实就是数据的集合.用户可以对集合中的数据进行新增.查询.更新. 删除等操作.数据库是以一定方式储存在一 ...