[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的功能支持,并在之后的版本中持续的 改进.关于本文的内容是翻译官网的内容,大 ...
随机推荐
- PyUsb的使用记录--window中
import usb.core import usb.util # find our device dev = usb.core.find(idVendor=0x03EB, idProduct=0x2 ...
- 设置与查看Linux系统中的环境变量
大家好,我是良许. 大家都知道,在 Linux 系统中,有环境变量和 Shell 变量这两种变量. 环境变量是在程序及其子程序中全局可用的,常常用来储存像默认的文本编辑器或者浏览器,以及可执行文件的路 ...
- java多线程:线程同步synchronized(不同步的问题、队列与锁),死锁的产生和解决
0.不同步的问题 并发的线程不安全问题: 多个线程同时操作同一个对象,如果控制不好,就会产生问题,叫做线程不安全. 我们来看三个比较经典的案例来说明线程不安全的问题. 0.1 订票问题 例如前面说过的 ...
- JAVA 下载单个文件
public void toDownLoad(String ape505, HttpServletRequest request, HttpServletResponse response) thro ...
- SpringBoot--- SpringSecurity进行注销,权限控制
SpringBoot--- SpringSecurity进行注销,权限控制 环境 IDEA :2020.1 Maven:3.5.6 SpringBoot: 2.0.9 (与此前整合的版本2.3.3 不 ...
- 【论文总结】MapReduce论文
摘要: MR是啥:编程模型,用户只需编写Map,Reduce两个函数,系统完成分布式计算 MR系统是啥:在大量普通计算机上实现并行化计算,系统只关心如何分割数据.大规模集群的调度.集群容错.集群通信 ...
- 数据分析-RFM模型用户分析
RFM模型 根据美国数据库营销研究所Arthur Hughes的研究,客户数据库中有3个神奇的要素,这3个要素构成了数据分析最好的指标: 最近一次消费 (Recency) 消费频率 (Frequenc ...
- Python1--简介及基础语法
0. 简介 Python易于学习的编程语言,有很多现成的第三方库可以调用,不用重复造轮子,老话说:"人生苦短,我用 Python" 1. 安装Python Mac:brew ins ...
- 牛客网PAT练兵场-打印沙漏
题目地址:https://www.nowcoder.com/pat/6/problem/4053 题意:模拟题 /** * Copyright(c) * All rights reserved. * ...
- 分布式一致性算法 Paxos、Raft、Zab的区别与联系
什么是分布式系统? 拿一个最简单的例子,就比如说我们的图书管理系统.之前的系统包含了所有的功能,比如用户注册登录.管理员功能.图书借阅管理等.这叫做集中式系统.也就是一个人干了好几件事. 后来随着功能 ...