【甘道夫】Spark1.3.0 Cluster Mode Overview 官方文档精华摘要
欢迎转载,请注明出处:
- Spark应用程序以一组独立进程的形式运行在集群中,应用程序的main方法中的SparkContext对象负责调度控制这一组独立进程的合作,这个包含main方法的程序叫Driver Program;
- Cluster Manager为运行在集群中的应用程序分配资源。SparkContext对象可以连接多种类型的Cluster Manager,包括Spark自带的standalone cluster manager,或者Mesos/YARN;
- 一旦SparkContext对象成功连接Cluster Manager,Spark应用程序就可以获取到集群中各个节点上的executor,这些executor将为你的应用执行计算任务和存储数据;
- 接下来,SparkContext将分发应用程序代码到各个executor上;
- 最后,SparkContext将分发tasks到各个executor上去运行。
- 每个应用程序都有它自己的一组executor进程,这组executor进程在应用的全生命周期内运行,负责以多线程方式运行自己分配到的task。这样做的好处是可以隔离不同的应用程序。然而,这也意味着,数据不能跨应用程序(SparkContext的实例)共享,除非将数据写入一个外部的存储系统(比如Tachyon?)。
- 因为driver程序负责调度在集群上运行的tasks,所以driver应该贴近worker节点运行,最好在相同的局域网内,否则两者相隔较远的话,driver和worker之间的通信会对程序执行带来影响。
- Standalone – Spark自带的相对简单的集群管理器;
- Apache Mesos – 一个通用的集群管理器,它同时也可以运行Hadoop MR程序和其它服务应用;
- Hadoop YARN – Hadoop2.0中的资源管理器。
我们可以通过spark-submit脚本提交应用程序到任意一类Cluster Manager上。
Spark应用程序的监控:每一个driver程序都有一个web UI,经典的在4040端口,展示了正在运行的task、executors和存储情况的相关信息。我们可以简单的通过http://<driver-node>:4040在浏览器中进入web UI,如下图:
注意,这里的地址是driver-node,不是master node。
Spark的资源分配控制同时在两个级别进行:
- 跨应用程序级别(在Cluster Manager级别);
- 应用程序内部级别(如果多个计算任务同时在一个SparkContext上发生)。
最后是术语表,尤其重要,务必理解熟记:
Term | Meaning |
---|---|
Application |
User program built on Spark. Consists of a driver program and executors on the cluster. Application = 一个driver + 多个executor |
Application jar |
A jar containing the user's Spark application. In some cases users will want to create an "uber jar" containing their application along with its dependencies. The user's jar should never include Hadoop or Spark libraries, however, these will be added at runtime. 应用程序jar文件某些情况下会包含所有的依赖包,但是千万不要包含Hadoop或者Spark的依赖库,这些依赖库在程序运行时会添加。 |
Driver program |
The process running the main() function of the application and creating the SparkContext 运行main()方法和创建SparkContext实例的进程。 |
Cluster manager |
An external service for acquiring resources on the cluster (e.g. standalone manager, Mesos, YARN) 一个外部服务,用于获取集群资源,例如standalone manager, Mesos, YARN。 |
Deploy mode |
Distinguishes where the driver process runs. In "cluster" mode, the framework launches the driver inside of the cluster. In "client" mode, the submitter launches the driver outside of the cluster. 区分driver进程运行在哪里:
|
Worker node |
Any node that can run application code in the cluster 可以运行application代码的集群节点。 |
Executor |
A process launched for an application on a worker node, that runs tasks and keeps data in memory or disk storage across them. Each application has its own executors. 为运行application在worker nodes上启动的线程,这些线程负责运行tasks,及保存数据在内存或磁盘。 每一个applicaiton都有自己的一组executor! |
Task |
A unit of work that will be sent to one executor 一个工作单元,将被发送到executor上。 |
Job |
A parallel computation consisting of multiple tasks that gets spawned in response to a Spark action (e.g. save ,collect ); you'll see this term used in the driver's logs.由Spark action(例如save,collect)触发的一系列并行计算tasks。 |
Stage |
Each job gets divided into smaller sets of tasks called stages that depend on each other (similar to the map and reduce stages in MapReduce); you'll see this term used in the driver's logs. 每一个job将分为很多组task,每一组task称为一个stage,这些stage相互依赖。类似于MapReduce计算模型中的map和reduce stage。 |
【甘道夫】Spark1.3.0 Cluster Mode Overview 官方文档精华摘要相关推荐
- 【甘道夫】Spark1.3.0 Running Spark on YARN 官方文档精华摘要
引言 由于工作需要,即将拥抱Spark,曾经进行过相关知识的学习,现在计划详细读一遍最新版本Spark1.3的部分官方文档,一是复习,二是了解最新进展,三是为公司团队培训做储备. 欢迎转载,请注明出处 ...
- 关于MySQL8.0的闰秒,官方文档是真狗啊
我在读MySQL最新8.0文档的时候,想预演一下实际情况中的闰秒,结果并不顺利.甚至有MySQL文档编写人员想当然的成分存在.所以特别整理了一篇文章,以供后人节省时间.如果有理解不对的地方,还希望热心 ...
- excel函数从0到掌握(官方文档+自我解析)
excel函数从0到掌握 我写到一半,发觉网上的资料还不如,wps自带的视频讲解,在这里提醒你们一下!(不是打广告,视频免费) 四大运算符 算术运算符 比较运算符 文本运算符 引用运算符 优先级 1. ...
- 【甘道夫】Hive 0.13.1 on Hadoop2.2.0 + Oracle10g部署详细解释
环境: hadoop2.2.0 hive0.13.1 Ubuntu 14.04 LTS java version "1.7.0_60" Oracle10g ***欢迎转载.请注明来 ...
- 【甘道夫】Win7x64环境下编译Apache Hadoop2.2.0的Eclipse插件
目标: 编译Apache Hadoop2.2.0在win7x64环境下的Eclipse插件 环境: win7x64家庭普通版 eclipse-jee-kepler-SR1-win32-x86_64.z ...
- 【甘道夫】Win7x64环境下编译Apache Hadoop2.2.0的Eclipse小工具
目标: 编译Apache Hadoop2.2.0在win7x64环境下的Eclipse插件 环境: win7x64家庭普通版 eclipse-jee-kepler-SR1-win32-x86_64.z ...
- 【甘道夫】HBase(0.96以上版本)过滤器Filter详解及实例代码
说明: 本文参考官方Ref Guide,Developer API和众多博客,并结合实测代码编写,详细总结HBase的Filter功能,并附上每类Filter的相应代码实现. 本文尽量遵从Ref Gu ...
- 【甘道夫】MapReduce实现矩阵乘法--实现代码
之前写了一篇分析MapReduce实现矩阵乘法算法的文章: [甘道夫]Mapreduce实现矩阵乘法的算法思路 为了让大家更直观的了解程序运行,今天编写了实现代码供大家參考. 编程环境: java v ...
- 用Python与Watson,将《魔戒》甘道夫的性格可视化!
全文共4301字,预计学习时长9分钟 图源Unsplash,由Marko Blažević提供 著名心理学家詹姆斯· 彭内贝克曾说:"仔细观察人们通过语言表达思想的方式,会感受到他们的性格特 ...
最新文章
- Java Process类的浅学习
- 分布式内存数据库 Geode
- 1593: [Usaco2008 Feb]Hotel 旅馆
- 大数据存储系统I/O性能优化技术研究进展
- Selenium 2自动化测试实战5(模块调用)
- 微观数据库整理(公开渠道获得-持续更新)
- python控制安捷伦频谱仪_频谱仪远程操作Python类
- 计算机管理中看不到iis,win10找不到“internet信息服务(IIS)管理器”怎么办
- 微信小程序直播电脑端OBS推流直播教程
- 【粉丝福利,免费送书】SQL编程思想
- c语言中平方根怎么用算法表示,C语言中平方根实现的详细分析
- 内核层读写应用层文件,使用filp_open函数——完美
- 发布包到maven公共仓库图文教程(1) --- 注册账号和提交申请
- forward完美转发
- 【计算方法】数值微积分
- 布局未来移动出行,需要怎样的互联汽车解决方案?
- Win11共享文件夹打不开怎么办
- 转载--近几年的论文及其代码
- 本站全部文章移动到https://www.ysidc.top 新站欢迎您的莅临访问!
- 【Matlab】将.mat文件转换为多个excel文件