Spark On Yarn:提交Spark应用程序到Yarn
转载自: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的更多相关文章
- Spark2.x(五十九):yarn-cluster模式提交Spark任务,如何关闭client进程?
问题: 最近现场反馈采用yarn-cluster方式提交spark application后,在提交节点机上依然会存在一个yarn的client进程不关闭,又由于spark application都是 ...
- Spark(七)Spark内存调优
一.概述 Spark 作为一个基于内存的分布式计算引擎,其内存管理模块在整个系统中扮演着非常重要的角色.理解 Spark 内存管理的基本原理,有助于更好地开发 Spark 应用程序和进行性能调优.本文 ...
- yarn队列提交spark任务权限控制
转载请注明出处:http://www.cnblogs.com/xiaodf/ 1 CapacityScheduler 1.1 模型介绍 1.2 资源分配相关参数 1.3 限制应用程序数目相关参数 1. ...
- Spark集群模式&Spark程序提交
Spark集群模式&Spark程序提交 1. 集群管理器 Spark当前支持三种集群管理方式 Standalone-Spark自带的一种集群管理方式,易于构建集群. Apache Mesos- ...
- Spark集群之yarn提交作业优化案例
Spark集群之yarn提交作业优化案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.启动Hadoop集群 1>.自定义批量管理脚本 [yinzhengjie@s101 ...
- Idea里面远程提交spark任务到yarn集群
Idea里面远程提交spark任务到yarn集群 1.本地idea远程提交到yarn集群 2.运行过程中可能会遇到的问题 2.1首先需要把yarn-site.xml,core-site.xml,hdf ...
- 【原创】大叔经验分享(19)spark on yarn提交任务之后执行进度总是10%
spark 2.1.1 系统中希望监控spark on yarn任务的执行进度,但是监控过程发现提交任务之后执行进度总是10%,直到执行成功或者失败,进度会突然变为100%,很神奇, 下面看spark ...
- 【原创】大叔经验分享(14)spark on yarn提交任务到集群后spark-submit进程一直等待
spark on yarn通过--deploy-mode cluster提交任务之后,应用已经在yarn上执行了,但是spark-submit提交进程还在,直到应用执行结束,提交进程才会退出,有时这会 ...
- Spark通过YARN提交任务不成功(包含YARN cluster和YARN client)
无论用YARN cluster和YARN client来跑,均会出现如下问题. [spark@master spark-1.6.1-bin-hadoop2.6]$ jps 2049 NameNode ...
随机推荐
- PCA的数学原理
PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维 数据的 ...
- linux设置系统日期时间
设置当前日期: date -s 08/06/2015 设置当前时间:date -s 10:03:00 写入BIOS: clock -w 显示当前日期时间: date
- Java自带工具jstack故障分析的一个案例
公司的一个web应用项目运行了很长一段时间,达半年之久,前段时间突然出现了服务不可用的情况,所有的请求都不可达,服务彻底挂了.查看tomcat进程还在,cpu使用率低,一时没找着问题,重启了服务.过了 ...
- 用Opera Mobile调试手机版网页【转】
注意:新版本的opera已经采用webkit内核,没有dragonfly了. 要下载12版的http://get.geo.opera.com/pub/opera/win/1216/int/Opera_ ...
- Java 提示 JRE unbound 或者 Tomcat unbound 解决方法
解决步骤 1.右键你的项目>>build path>>config build path 2. 选中显示 unbound的 Libraries >>Edit 如下图 ...
- FIR系统的递归与非递归实现
首先,因为FIR的脉冲响应是有限长,所以总是可以非递归实现的: 其次,也可以用递归系统来实现它. 以滑动平均做例子,最直观的想法就是,每次来一个新的值,丢掉最老的,加上最新的: y[n]=y[n-1] ...
- form 转json,将form表单中的数据序列化数组后转换为Json
页面中引用了jquery,第一想到的就是序列化,但是序列化后的表单字段为a=1&b=2这种. 这里写一个jquery的扩展方法 $.fn.serializeObject = function( ...
- DB设计原则(一)字段名定义避免二义性。
字段名定义避免二义性.如:主数据中有库存信息表 KCDDID,KCDDMC.若要在业务表中存储库存地点ID的话,不要定义为KCDD,要定义为KCDDID.这样标明存储的就是ID,而不是名称.同样,单位 ...
- [linux basic]基础--信号
线程->信号信号,是unix和linux系统响应某些条件而产生的一个事件.接收到该信号的进程会相应地采取一些行动.raise生成表示一个信号的产生catch捕获表示接受到一个信号的产生:信号是由 ...
- Android权限之sharedUserId和签名
转自:http://blog.csdn.net/hmg25/article/details/6447067 最近在做个东西,巧合碰到了sharedUserId的问题,所以收集了一些资料,存存档备份. ...