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 表示)。
  • yarn 只提供运算资源的调度(用户程序向 yarn 申请资源,yarn 就负责分配资源)

  • yarn与运行的用户程序完全解耦,意味着yarn上可以运行各种类型的分布式运算程序,比如 mapreduce、storm,spark,

Spark on Yarn

参考链接

https://blog.csdn.net/qq_33624952/article/details/79341034

https://blog.csdn.net/minge_se/article/details/79137085

[Spark]Spark、Yarn 入门的更多相关文章

  1. Spark on Yarn | Spark,从入门到精通

    ?/ 为什么需要 Yarn? /? Yarn?的全称是?Yet Anther Resource Negotiator(另一种资源协商者).它作为 Hadoop?的一个组件,官方对它的定义是一个工作调度 ...

  2. Spark中文指南(入门篇)-Spark编程模型(一)

    前言 本章将对Spark做一个简单的介绍,更多教程请参考:Spark教程 本章知识点概括 Apache Spark简介 Spark的四种运行模式 Spark基于Standlone的运行流程 Spark ...

  3. Spark on Yarn 集群运行要点

    实验版本:spark-1.6.0-bin-hadoop2.6 本次实验主要是想在已有的Hadoop集群上使用Spark,无需过多配置 1.下载&解压到一台使用spark的机器上即可 2.修改配 ...

  4. 转载:Spark中文指南(入门篇)-Spark编程模型(一)

    原文:https://www.cnblogs.com/miqi1992/p/5621268.html 前言 本章将对Spark做一个简单的介绍,更多教程请参考:Spark教程 本章知识点概括 Apac ...

  5. Spark on YARN的部署

    Spark on YARN的原理就是依靠yarn来调度Spark,比默认的Spark运行模式性能要好的多,前提是首先部署好hadoop HDFS并且运行在yarn上,然后就可以开始部署spark on ...

  6. 配置Spark on YARN集群内存

    参考原文:http://blog.javachen.com/2015/06/09/memory-in-spark-on-yarn.html?utm_source=tuicool 运行文件有几个G大,默 ...

  7. Spark on Yarn 学习(一)

    最近看到明风的关于数据挖掘平台下实用Spark和Yarn来做推荐的PPT,感觉很赞,现在基于大数据和快速计算方面技术的发展很快,随着Apache基金会上发布的一个个项目,感觉真的新技术将会不断出现在大 ...

  8. Spark on Yarn:任务提交参数配置

    当在YARN上运行Spark作业,每个Spark executor作为一个YARN容器运行.Spark可以使得多个Tasks在同一个容器里面运行. 以下参数配置为例子: spark-submit -- ...

  9. 运行 Spark on YARN

    运行 Spark on YARN Spark 0.6.0 以上的版本添加了在yarn上执行spark application的功能支持,并在之后的版本中持续的 改进.关于本文的内容是翻译官网的内容,大 ...

随机推荐

  1. C#,js和sql实用技巧选2

    1.为什么"foo".Equals()不是好做法?因为当正确的写法是"foo".Equals(obj.value),却写成了"foo".Eq ...

  2. Linux进程管理与性能监控

    1. 进程管理工具 这一节我们介绍进程管理工具: 使用进程管理工具,我们可以查询程序当前的运行状态,或终止一个进程: 任何进程都与文件关联:我们会用到lsof工具(list opened files) ...

  3. 数据隐私和GDPR

    近十几年来,随着大数据给各行各业带来的变化,以及数据时代不断强调的数据就是燃料,谁掌握数据谁就掌握未来的各种论调,大家纷纷开始收集数据,挖掘数据,转卖数据.而个人,作为数据真正拥有者的利益早就在商业利 ...

  4. python 计算文件md5值

    md5是一种常见不可逆加密算法,使用简单,计算速度快,在很多场景下都会用到,比如:给用户上传的文件命名,数据库中保存的用户密码,下载文件后检验文件是否正确等.下面讲解在python中如何使用md5算法 ...

  5. Java数据结构——图的DFS和BFS

    1.图的DFS: 即Breadth First Search,深度优先搜索是从起始顶点开始,递归访问其所有邻近节点,比如A节点是其第一个邻近节点,而B节点又是A的一个邻近节点,则DFS访问A节点后再访 ...

  6. in文件注意事项及详细解释(转载)

    转载自:https://www.cnblogs.com/sysu/p/10817315.html  和   https://www.cnblogs.com/panscience/p/4953940.h ...

  7. CentOS 7/8上部署Ceph

    Ceph是一个分布式的存储系统,可以在统一的系统中提供唯一的对象.块和文件存储,Ceph的大致组件如下: 1. Ceph监视器(ceph-mon):用来维护集群状态的映射,包括监视器映射,管理器映射, ...

  8. 数据操纵DML

    数据操纵DML 1. 在dept表中插入两行数据 (1)50,'IT','SHENYANG';(2)60,'HR','DALIAN'; 2. 设置保存点beforeup 3. 更新dept表,将60号 ...

  9. WebApis中BOM的学习

    1.1. 常用的键盘事件 1.1.1 键盘事件 <script> // 常用的键盘事件 //1. keyup 按键弹起的时候触发 document.addEventListener('ke ...

  10. vue组件获取和vue-cli的基本了解

    Vue获取组件的一些方法 this.$refs.xxx 给标签绑定ref属性,获取的是当前DOM对象 给组件绑定ref属性,获取的是组件实例对象 this.$parent 获取当前组件的父组件,为一个 ...