配置spark on yarn

在之前配置好hadoop的基础上,我配置了spark on yarn。

主要有两步,分别是安装scala和配置spark

安装scala

我们的spark是1.5.2版,使用的scala版本是scala-2.11.6。安装后要在/etc/bashrc里面配置export SCALA_HOME=/opt/scala-2.11.6

配置spark

从官网下载spark-1.5.2的源代码,在dn1.hadoop下解压到/usr/local下。修改spark-env.sh

1
2
3
4
5
6
7
cp spark-env.sh.template spark-env.sh #从配置模板复制
cp spark-env.sh.template spark-env.sh #从配置模板复制
vi spark-env.sh #添加配置内容
#添加
SPARK_MASTER_IP=dn1.hadoop
SPARK_LOCAL_DIRS=$somePath

注:在设置Worker进程的CPU个数和内存大小,要注意机器的实际硬件条件,如果配置的超过当前Worker节点的硬件条件,Worker进程会启动失败。

修改slaves,将dn2 , dn3加入slaves

1
2
3
#slaves
dn2.hadoop
dn3.hadoop

启动Spark

1
sbin/start-all.sh

验证 Spark 是否安装成功

jps检查,在 master 上应该有以下几个进程:

1
2
3
4
5
6
$ jps
7949 Jps
7328 SecondaryNameNode
7805 Master
7137 NameNode
7475 ResourceManager

在 slave 上应该有以下几个进程:

1
2
3
4
5
$jps
3132 DataNode
3759 Worker
3858 Jps
3231 NodeManager

其中master和worker是spark的线程(名称真是简单粗暴)

Spark的Web管理页面: http://dn1.hadoop:8080

运行示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#本地模式两线程运行
./bin/run-example SparkPi 10 --master local[2]
#Spark Standalone 集群模式运行
./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://master:7077 \
lib/spark-examples-1.3.0-hadoop2.4.0.jar \
100
#Spark on YARN 集群上 yarn-cluster 模式运行
./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn-cluster \ # can also be `yarn-client`
lib/spark-examples*.jar \
10

参考文献

Spark On YARN 集群安装部署


本文采用创作共用保留署名-非商业-禁止演绎4.0国际许可证,欢迎转载,但转载请注明来自http://thousandhu.github.io,并保持转载后文章内容的完整。本人保留所有版权相关权利。

本文链接:http://thousandhu.github.io/2016/05/13/配置spark-on-yarn/