运行 Spark on YARN

Spark 0.6.0 以上的版本添加了在yarn上执行spark application的功能支持,并在之后的版本中持续的

改进。关于本文的内容是翻译官网的内容,大家也可参考spark的官网地址:http://spark.apache.org/docs/latest/running-on-yarn.html

1. 在yarn上执行spark

需要确保提交spark任务的客户端服务器上, HADOOP_CONF_DIR 或者 YARN_CONF_DIR 目录中包含

hadoop集群的配置文件。这些配置文件被用于读写HDFS和连接yarn 的resourceManager。此目录中包含的配置

将分发到YARN群集,以便应用程序application使用的所有容器都使用相同的配置。

如果配置中引用了Java系统属性或未由YARN管理的环境变量,则还应在Spark应用程序的配置(driver, executors, and the AM when running in client mode驱动程序,执行程序和在客户端模式下运行时的AM)中设置它们。

在yarn上执行sprak 的application有两种部署模式:集群模式和客户端模式。在集群模式下, Spark driver程序在集群上由YARN管理的application master 进程内运行,客户端程序可以在启动应用程序后离开。在客户端模式下,driver程序在客户端进程中运行,application master仅用于从YARN请求资源。

与Spark独立模式和Mesos模式不同,其中主节点地址在-master参数中指定,在YARN模式下,ResourceManager的地址是从Hadoop配置中选取。 因此,-master的参数值是 yarn。

在集群模式下执行 Spark application:

$ ./bin/spark-submit --class path.to.your.Class --master yarn --deploy-mode cluster [options] <app jar> [app options]

示例:

$ ./bin/spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
--driver-memory 4g \
--executor-memory 2g \
--executor-cores 1 \
--queue thequeue \
lib/spark-examples*.jar \
10

以上操作启动一个YARN client程序 ,这个client请求yarn启动一个默认的Application Master。然后SparkPi将作为Application Master的一个子线程运行。 客户端程序将定期轮询应用程序主控以获取状态更新,并在控制台中显示它们。 应用程序完成运行后,客户端将退出。 请参阅下面的“调试应用程序”部分,了解如何查看驱动程序和执行程序日志。

在客户端模式下执行 Spark application:

要在客户端模式下启动Spark应用程序,请执行相同操作,但用client替换cluster。 以下显示了如何在客户端模式下运行spark-shell:

$ ./bin/spark-shell --master yarn --deploy-mode client

添加spark application 依赖的jar包

在集群模式下,添加spark application 依赖的jar包*

$ ./bin/spark-submit --class my.main.Class \
--master yarn \
--deploy-mode cluster \
--jars my-other-jar.jar,my-other-other-jar.jar \
my-main-jar.jar \
app_arg1 app_arg2

运行 Spark on YARN的更多相关文章

  1. spark on yarn :state: ACCEPTED一直 出现

    今天运行spark on yarn 一直出现 16/09/20 18:40:41 INFO yarn.Client: Application report for application_147417 ...

  2. Spark(十二) -- Spark On Yarn & Spark as a Service & Spark On Tachyon

    Spark On Yarn: 从0.6.0版本其,就可以在在Yarn上运行Spark 通过Yarn进行统一的资源管理和调度 进而可以实现不止Spark,多种处理框架并存工作的场景 部署Spark On ...

  3. Spark on YARN两种运行模式介绍

    本文出自:Spark on YARN两种运行模式介绍http://www.aboutyun.com/thread-12294-1-1.html(出处: about云开发)   问题导读 1.Spark ...

  4. Spark on YARN的两种运行模式

    Spark on YARN有两种运行模式,如下 1.yarn-cluster:适合于生产环境.        Spark的Driver运行在ApplicationMaster中,它负责向YARN Re ...

  5. Spark on YARN简介与运行wordcount(master、slave1和slave2)(博主推荐)

    前期博客 Spark on YARN模式的安装(spark-1.6.1-bin-hadoop2.6.tgz +hadoop-2.6.0.tar.gz)(master.slave1和slave2)(博主 ...

  6. Spark on Yarn运行错误:Yarn application has already ended! It might have been killed or unable to launch application master

    Spark on Yarn模式运行错误: bin/spark-shell --master yarn --deploy-mode client #报错 ​ 查看8088页面上的工作日志 错误原因:在执 ...

  7. Spark on Yarn 集群运行要点

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

  8. 大话Spark(2)-Spark on Yarn运行模式

    Spark On Yarn 有两种运行模式: Yarn - Cluster Yarn - Client 他们的主要区别是: Cluster: Spark的Driver在App Master主进程内运行 ...

  9. Spark on YARN运行模式(图文详解)

    不多说,直接上干货! 请移步 Spark on YARN简介与运行wordcount(master.slave1和slave2)(博主推荐) Spark on YARN模式的安装(spark-1.6. ...

随机推荐

  1. PDO的一些操作

    一.实例化一个PDO对象 //实例化一个PDO对象//1,设置数据源相关参数$dbms = 'mysql';$host = '127.0.0.1';$port = '3306';$dbname = ' ...

  2. c/c++ qsort 函数的简单使用(1)

    #include <stdio.h> #include <stdlib.h> //打印数组元素 void print(int arr[], int n){ ; i < n ...

  3. C++动态加载DLL调用方法

    一.构建DLL路径 char szTmp[_MAX_PATH]; char* szPath = getcwd(szTmp, _MAX_PATH);//获取当前工作目录  //构建dll路径  strc ...

  4. JSON.stringify////////////////////////////////zzzzzzzzzzzzzz

    JSON.stringify 语法实例讲解 可能有些人对系列化这个词过敏,我的理解很简单.就是说把原来是对象的类型转换成字符串类型(或者更确切的说是json类型的).就这么简单.打个比方说,你有一个类 ...

  5. 收集一些关于OI/ACM的奇怪的东西……

    一.代码: 1.求逆元(原理貌似就是拓展欧几里得,要求MOD是素数): int inv(int a) { if(a == 1) return 1; return ((MOD - MOD / a) * ...

  6. Pyton 模拟Post登录

    import sys import urlib.parse import urllib.request import http.cookiejar import random import math ...

  7. 目标检测方法总结(R-CNN系列)

    目标检测方法系列--R-CNN, SPP, Fast R-CNN, Faster R-CNN, YOLO, SSD 目录 相关背景 从传统方法到R-CNN 从R-CNN到SPP Fast R-CNN ...

  8. dll 日志文件 放在同一个目录。

    string strPath = "log.txt"; 如果日志问价跟dll文件放在一起,直接这么些就可以了.

  9. GridView的高度自适应

    接着上面一篇文章. 当GridView不知道parent高度的时候,也就是MeasureSpec是UNSPECIFIED,这个时候,GridView高度为第一个child的高度,并显示滚动条. mIt ...

  10. HTTP标头

    HTTP头信息 头信息由“键:值”组成.它们描述客户端或者服务器的属性.被传输的资源以及应该实现连接. 四种不同类型的头标 通用头标:即可用于请求,也可用于响应,是作为一个整体而不是特定资源与事务相关 ...