spark

简介:

转载自: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/1234567812345678

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/1234567812345678

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包等。



本文转自 远永201314 51CTO博客,原文链接:http://blog.51cto.com/7336056/1946970

相关文章
|
2月前
|
SQL 机器学习/深度学习 分布式计算
Spark适合处理哪些任务?
【9月更文挑战第1天】Spark适合处理哪些任务?
168 3
|
6月前
|
存储 缓存 分布式计算
spark BlockManager粗讲
spark BlockManager粗讲
|
消息中间件 分布式计算 监控
Spark6:Spark Steaming
Spark6:Spark Steaming
64 0
|
SQL 机器学习/深度学习 分布式计算
【Spark】(一)初识 Spark
【Spark】(一)初识 Spark
167 0
【Spark】(一)初识 Spark
|
SQL 机器学习/深度学习 分布式计算
|
SQL 机器学习/深度学习 分布式计算
spark介绍
spark介绍
2220 0
spark介绍
|
分布式计算 Spark Hadoop
|
机器学习/深度学习 分布式计算 TensorFlow
|
SQL 分布式计算 测试技术
|
分布式计算 Java Apache
[Spark]那些年我们遇到的Spark的坑
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/72922155 1.
2664 0