转载自:http://lxw1234.com/archives/2015/07/416.htm

关键字:Spark On Yarn、Spark Yarn Cluster、Spark Yarn Client

Spark On Yarn模式配置非常简单,只需要下载编译好的Spark安装包,在一台带有Hadoop Yarn客户端的机器上解压,简单配置之后即可使用。

要把Spark应用程序提交到Yarn运行,首先需要配置HADOOP_CONF_DIR或者YARN_CONF_DIR,让Spark知道Yarn的配置信息,比如:ResourceManager的地址。可以配置在spark-env.sh中,也可以在提交Spark应用之前export:

export HADOOP_CONF_DIR=/etc/hadoop/conf

yarn-cluster模式提交Spark应用程序


./spark-submit \
--class com.lxw1234.test.WordCount \
--master yarn-cluster \
--executor-memory 4G \
--num-executors 10 \
/home/lxw1234/spark-wordcount.jar \
/logs/2015-07-14/ /tmp/lxw1234/output/

yarn-client模式提交Spark应用程序


./spark-submit \
--class com.lxw1234.test.WordCount \
--master yarn-client \
--executor-memory 4G \
--num-executors 10 \
/home/lxw1234/spark-wordcount.jar \
/logs/2015-07-14/ /tmp/lxw1234/output/

Yarn Cluster模式和Yarn Client模式的主要区别

yarn-cluster模式中,应用程序(包括SparkContext)都是作为Yarn框架所需要的

ApplicationMaster,在Yarn ResourceManager为其分配的一个随机节点上运行;

而在yarn-client模式中,SparkContext运行在本地,该模式适用于应用程序本身需要在本地进行交互的场合。

Spark Standalone模式下提交Spark应用程序,可参考:

http://lxw1234.com/archives/2015/05/215.htm

以下是一些Spark On Yarn相关的配置参数:

spark.yarn.am.memory

默认值:512M

在yarn-client模式下,申请Yarn App Master所用的内存。

spark.driver.memory

默认值:512M

在yarn-cluster模式下,申请Yarn App Master(包括Driver)所用的内存。

spark.yarn.am.cores

默认值:1

在yarn-client模式下,申请Yarn App Master所用的CPU核数

spark.driver.cores

默认值:1

在yarn-cluster模式下,申请Yarn App Master(包括Driver)所用的CPU核数。

spark.yarn.am.waitTime

默认值:100s

在yarn-cluster模式下,Yarn App Master等待SparkContext初始化完成的时间;

在yarn-client模式下,Yarn App Master等待SparkContext链接它的时间;

spark.yarn.submit.file.replication

默认值:HDFS副本数

Spark应用程序的依赖文件上传到HDFS时,在HDFS中的副本数,这些文件包括Spark的Jar包、应用程序的Jar包、其他作为DistributeCache使用的文件等。通常,如果你的集群节点数越多,相应地就需要设置越多的拷贝数以加快这些文件的分发。

spark.yarn.preserve.staging.files

默认值:false

在应用程序结束后是否保留上述上传的文件。

spark.yarn.scheduler.heartbeat.interval-ms

默认值:5000

Spark Application Master向Yarn ResourceManager发送心跳的时间间隔,单位毫秒。

spark.yarn.max.executor.failures

默认值:numExecutors * 2 (最小为3)

最多允许失败的Executor数量。

spark.yarn.historyServer.address

默认值:none

Spark运行历史Server的地址,主机:host,如:lxw1234.com:18080,注意不能包含http://

默认不配置,必须开启Spark的historyServer之后才能配置。该地址用于Yarn ResourceManager在Spark应用程序结束时候,将该application的运行URL从ResourceManager的UI指向Spark historyServer UI。

spark.executor.instances

默认值:2

Executor实例的数量,不能与spark.dynamicAllocation.enabled同时使用。

spark.yarn.queue

默认值:default

指定提交到Yarn的资源池

spark.yarn.jar

Spark应用程序使用的Jar包位置,比如:hdfs://cdh5/lxw1234.com/

参考更多大数据Hadoop、Spark、Hive相关:lxw的大数据田地

另外,在提交Spark应用程序到Yarn时候,可以使用—files指定应用程序所需要的文件;

使用—jars 和 –archives添加应用程序所依赖的第三方jar包等。

Spark On Yarn:提交Spark应用程序到Yarn的更多相关文章

  1. Spark2.x(五十九):yarn-cluster模式提交Spark任务,如何关闭client进程?

    问题: 最近现场反馈采用yarn-cluster方式提交spark application后,在提交节点机上依然会存在一个yarn的client进程不关闭,又由于spark application都是 ...

  2. Spark(七)Spark内存调优

    一.概述 Spark 作为一个基于内存的分布式计算引擎,其内存管理模块在整个系统中扮演着非常重要的角色.理解 Spark 内存管理的基本原理,有助于更好地开发 Spark 应用程序和进行性能调优.本文 ...

  3. yarn队列提交spark任务权限控制

    转载请注明出处:http://www.cnblogs.com/xiaodf/ 1 CapacityScheduler 1.1 模型介绍 1.2 资源分配相关参数 1.3 限制应用程序数目相关参数 1. ...

  4. Spark集群模式&Spark程序提交

    Spark集群模式&Spark程序提交 1. 集群管理器 Spark当前支持三种集群管理方式 Standalone-Spark自带的一种集群管理方式,易于构建集群. Apache Mesos- ...

  5. Spark集群之yarn提交作业优化案例

    Spark集群之yarn提交作业优化案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.启动Hadoop集群 1>.自定义批量管理脚本 [yinzhengjie@s101 ...

  6. Idea里面远程提交spark任务到yarn集群

    Idea里面远程提交spark任务到yarn集群 1.本地idea远程提交到yarn集群 2.运行过程中可能会遇到的问题 2.1首先需要把yarn-site.xml,core-site.xml,hdf ...

  7. 【原创】大叔经验分享(19)spark on yarn提交任务之后执行进度总是10%

    spark 2.1.1 系统中希望监控spark on yarn任务的执行进度,但是监控过程发现提交任务之后执行进度总是10%,直到执行成功或者失败,进度会突然变为100%,很神奇, 下面看spark ...

  8. 【原创】大叔经验分享(14)spark on yarn提交任务到集群后spark-submit进程一直等待

    spark on yarn通过--deploy-mode cluster提交任务之后,应用已经在yarn上执行了,但是spark-submit提交进程还在,直到应用执行结束,提交进程才会退出,有时这会 ...

  9. Spark通过YARN提交任务不成功(包含YARN cluster和YARN client)

    无论用YARN cluster和YARN client来跑,均会出现如下问题. [spark@master spark-1.6.1-bin-hadoop2.6]$ jps 2049 NameNode ...

随机推荐

  1. js最好的继承机制:用对象冒充继承构造函数的属性,用原型prototype继承对象的方法。

    js最好的继承机制:用对象冒充继承构造函数的属性,用原型prototype继承对象的方法. function ClassA(sColor) { this.color = sColor; } Class ...

  2. 【Reporting Services 报表开发】— 交互式报表

    我们知道,界面是人与系统间的对话方式,当使用者面对的是冷冰冰的界面,不但会造成使用者对于系统的热情减低,也会因为不便而产生诸多抱怨.尤其像报表时企业内几乎每日都会使用到的工具,因此,如何让使用者可以再 ...

  3. window7 下 安装 apache24(httpd-2.4.10-x86-r2)加 php5.6(php-5.6.4-Win32-VC11-x86)加yaf(php_yaf-2.3.3-5.6-ts-vc11-x86)整合

    window7 下 安装 apache24(httpd-2.4.10-x86-r2)加 php5.6(php-5.6.4-Win32-VC11-x86)加yaf(php_yaf-2.3.3-5.6-t ...

  4. CentOS7安装Oracle 11g R2 详细过程——零基础

    本人linux小白,因项目原因必须要在linux下使用oracle便开始了探索.安装过程中遇到了种种问题与原因,今天整理一下方便后面的可以少走弯路. *注明: 安装过程注意当前错作的用户,执行./ru ...

  5. Android界面布局基本知识简述

    Android手机操作系统在模拟器中进行相关的编写,可以帮助我们实现各种功能需求.尤其是在界面的操作方面显得更为突出.在这里我们就可以对Android界面布局的相关操作来对这方面的知识进行一个深入的了 ...

  6. [linux basic 基础]----线程的属性

    在信号量和互斥量例子中,我们都是在程序推出之前利用pthread_join对线程进行再次同步:如果想让thread想创建它的线程返回数据我需要这么做:问题:我们有时候既不需要第二个线程向main线程返 ...

  7. 理解MVC模式

    理解一般意义上的MVC模式 MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为以下三个基本部分: 模型(Model):模型用于封装与应用程序的业务逻 ...

  8. Pointer arithmetic for void pointer in C

    http://stackoverflow.com/questions/3523145/pointer-arithmetic-for-void-pointer-in-c When a pointer t ...

  9. PLSQL_基础系列03_合并操作UNION / UNION ALL / MINUS / INTERSET(案例)

    2014-11-30 Created By BaoXinjian

  10. c++代码模板

    c++代码模板 &代码: #include <bits/stdc++.h> using namespace std; typedef long long ll; const int ...