运行 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. ubuntu安装使用latex和texmaker--PC端

    参考文档 据说中文文献可能不识别,可能用到的参考资料

  2. C语言第三次作业

    #include<stdio.h>//1.三角形 int main() { printf("*\n"); printf("**\n"); print ...

  3. How to use umbraco datetime property editor

    When I was using Umbraco datetime property editor, I met with a problem that the editor must be firs ...

  4. gulp 外挂 rename 的使用

    安装和使用就不详细说了.前面有. gulpfile.js 的配置 var gulp = require('gulp'), rename = require('gulp-rename'), // 记得先 ...

  5. dell r710xd 通过远程管理卡安装系统

    机器dell r720xd 服务器 远程管理卡:iDRAC7 安装系统CentOS 5.9 64位 1.首先得配置要管理口IP信息及用户名.密码(这里就不做介绍了) 2.登录远程管理 https:// ...

  6. 找出数组中从未出现的最小正整数java实现

    /** * 找出未出现的最小正整数 * @param A * @param n * @date 2016-10-7 * @author shaobn */ public static int find ...

  7. ACM-JAVA基础

    ACM中的JAVA(基础) 众所周知,Java拥有良好的可移植性.无论在软件还是硬件领域,它都得到了广泛的使用,但是任何语言都有其缺陷,Java也不例外,Java运行在Java虚拟机上,因而相比C/C ...

  8. Java 之 List<T> 接口的实现:ArrayList

    Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMap ArrayLis ...

  9. simvision使用

    Access Design Source Code: 1)通过file---open来打开, 2)通过send to source viewer来看, 双击信号,进行driver的trace,显示在左 ...

  10. eclipse 安装activity插件

    公司做流程需要用到流程插件,之前用了bpm4 activity是基于bpm4延伸的,这里先介绍下activity 插件是如何安装的 官网资料 *Name:*Activiti BPMN 2.0 desi ...