Spark on YARN的部署

Posted 小得盈满

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark on YARN的部署相关的知识,希望对你有一定的参考价值。

  Spark on YARN的原理就是依靠yarn来调度Spark,比默认的Spark运行模式性能要好的多,前提是首先部署好hadoop HDFS并且运行在yarn上,然后就可以开始部署spark on yarn了,假设现在准备环境已经部署完毕,这里是在CDH 环境下部署Spark

  除了上面的环境准备,安装Spark前,还应该保证Scala正常安装,基于Scala的情况下,就可以开始部署Spark了,

  首先还是解压Spark,安装位置就是/bigdata/spark

tar -xvzf spark-1.6.2-bin-hadoop2.6.tgz
mv spark-1.6.2-bin-hadoop2.6 /bigdata/
ln -s /bigdata/spark-1.6.2-bin-hadoop2.6 /bigdata/spark
cd /bigdata/spark

  这里为了方便升级,使用/bigdata/sprak指向具体的spark目录,接下来可以配置环境变量,以方便随时输入命令来提交相关程序,直接在环境变量配置文件的PATH变量最后追加 :/bigdata/spark/bin 即可配置,配置完成后source一下即可生效

  然后同样是处理配置文件:

cp conf/spark-env.sh.template conf/spark-env.sh
cp conf/slaves.template conf/slaves

  这时slaves不用做任何修改默认即可,如果有多台spark,也可以配置除master之外的主机名列表,这个不用配置也可以

  执行 vim conf/spark-env.sh 编辑配置文件,在最后追加如下配置:

# JDK目录
export JAVA_HOME=/usr/local/java/jdk1.8.0_73
# Scala目录
export SCALA_HOME=/usr/local/scala/scala-2.11.8
# Master IP地址
export SPARK_MASTER_IP=192.168.0.187
# Worker运行内存
export SPARK_WORKER_MEMORY=2G
# hadoop配置文件目录 cdh中默认是如下目录 这个hadoop必须运行在yarn上 spark才能直接通过此配置文件目录通过yarn进行调度
export HADOOP_CONF_DIR=/etc/hadoop/conf
# spark master端口 默认7077 下面是可选的
export SPARK_MASTER_PORT=7077
# 此项默认 也是可选的
export MASTER=spark://${SPARK_MASTER_IP}:${SPARK_MASTER_PORT}

  配置完这些项之后,spark就可以跑在yarn上了,到这里就部署完了,也没必要启动spark的master和slaves服务,因为是靠yarn进行任务调度,所以直接提交任务即可

以上是关于Spark on YARN的部署的主要内容,如果未能解决你的问题,请参考以下文章

Apache Spark支持三种分布式部署方式 standalonespark on mesos和 spark on YARN区别

Spark On YARN 分布式集群安装

Spark 2.4 集群部署(on Yarn模式)

部署Spark2.2集群(on Yarn模式)

Spark on yarn遇到的问题

Spark HA on yarn 最简易安装。