运行 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. Unity和Android互相调用

    安卓部分代码: public class GameMainActivity extends UnityPlayerActivity { private static String CODE_ROOT ...

  2. 返回值是TEXT的阿贾克斯方法

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. javascript原型对象

    先来做个复习,ES5中有有几种数据类型呢? 5种基本数据类型 Undefined Null Boolean Number String 1种复杂数据类型 Object 除了基本数据类型,万物皆对象,记 ...

  4. cocos的helloworld写法

    我觉得吧,做工作是找一份自己喜欢的工作,然后一做很多年,想做安卓就去做,做苹果也去做,现在想转行做游戏,游戏方向有很多,选定前段吧,选定平台COCOS,COOCS有2D和3D,先玩2D吧,写一个hel ...

  5. Java操作excel

    慕课网的好课程: http://www.imooc.com/learn/354

  6. Html5shiv

    说明编辑 越来越多的站点开始使用 HTML5 标签.但情况是还有很多人在使用IE6,IE7,IE8.为了让所有网站浏览者都能正常的访问网站, 2解决方案编辑 有下面两个: 为网站创建多套模板,通过程序 ...

  7. win7,安装node失败

    win7下,下载node安装包,安装之后 打开命令行输入 node -v,仍然提示命令不可用. 解决办法: 找到环境变量: 在用户变量里修改 path: 添加系统变量 NODE_PATH: 关机重启电 ...

  8. rc.local文件

    rc.local用于自启动一些服务. 查看有哪些自启动服务: cat /etc/rc.local

  9. 夺命雷公狗----Git---2---基本用法

    首先我们来创建一个git仓库,其实命令也是很简单的.. git init 其实在创建完成后,该目录会多了一个.git的文件夹,但该文件夹是隐藏的.... 其实这就是一个git仓库,特别建议不要在这个目 ...

  10. js字符串和正则表达式中的match、replace、exec等函数详解

    正则并不是经常使用,而正则和字符串之间的函数关系又错综复杂,谁是谁的函数,又是怎么样的一种结果,往往我们是看一遍忘一遍,对此我是头疼不已,感觉自己是个笨蛋^_^. 为了以后不再查文档,特此把常用的函数 ...