码迷,mamicode.com
首页 > 其他好文 > 详细

运维系列:05、Spark on Yarn

时间:2014-09-12 11:38:33      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:io   os   使用   java   ar   文件   数据   div   sp   

Spark 0.6.0开始支持此功能

 

准备:

运行Spark-on-YARN需要Spark的二进制发布包。参考编译
 

配置:

环境变量:

SPARK_YARN_USER_ENV 

    用户可以在这个参数中设置Spark on YARN的环境变量,可以省略。
    例如:SPARK_YARN_USER_ENV="JAVA_HOME=/jdk64,FOO=bar"。
// TODO 具体可配置项

SPARK_JAR

    设置Spark jar在HDFS的位置。
    例如:export SPARK_JAR=hdfs:///some/path.
在每台Hadoop NodeManager节点上设置变量

启动:

确保HADOOP_CONF_DIR或YARN_CONF_DIR所指向的目录包含Hadoop集群的配置文件。这些配置文件用来连接YARN的ResourceManager并写数据到DFS。
此为提交任务的Spark安装,为了使用spark-submit工具。因此,只在此机器上配置便可。

有两种模式:

yarn-cluster:Spark的driver运行YARN集群启动的一个application master进程中,client在初始化application后可以消失。 生产环境
yarn-client:Spark的driver运行在client进程中,而application master只用来向YARN申请资源。测试使用?//TODO 做验证
 
不像Spark standalon和mesos模式,在那儿master地址使用指定的master参数;在YARN模式中,ResourceManager的地址从Hadoop配置文件中获取。因此,YARN模式中master参数简单的为“yarn-client”或“yarn-cluster”。
 

在yarn-cluster模式中启动一个application:

./bin/spark-submit --class path.to.your.Class --master yarn-cluster [options] <app jar> [app options]
例如:
SPARK_JAR=hdfs://hansight/libs/spark-assembly-1.0.2-hadoop2.4.0.2.1.4.0-632.jar \
./bin/spark-submit --class org.apache.spark.examples.SparkPI \
    --master yarn-cluster \
    --num-executors 3 \
    --driver-memory 4g \
    --executor-memory 2g \
    --executor-cores 1 \
    lib/spark-examples*.jar \
    10
注:上面启动一个YARN客户端,该客户端启动默认的Application Master。SparkPI将作为一个子线程运行在Application Master中。client将定期的读取Application Master获取状态更新并把更新显示在控制台中。一旦你的application运行完成client会结束。
 

在yarn-client模式中启动一个application:

./bin/spark-submit --master yarn-client  [options] <app jar> [app options]
只是把--master的参数值改为yarn-client,其它都与yarn-cluster相同。
 

添加其它JAR依赖

在yarn-cluster模式中,driver与client运行在不同的机器上。因此,SparkContext.addJar方法不会像client在本地模式那样开箱即用。为了使SparkContext.addJar可用,需要在启动命令参数--jars后面添加这些jar。
例如:
$ ./bin/spark-submit --class my.main.Class \
--master yarn-cluster \
--jars my-other-jar.jar,my-other-other-jar.jar
my-main-jar.jar
app_arg1 app_arg2

运维系列:05、Spark on Yarn

标签:io   os   使用   java   ar   文件   数据   div   sp   

原文地址:http://www.cnblogs.com/chanxiu/p/3967812.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!