spark验证部署和_Spark安装部署

本文详细介绍了如何在CentOS 6.5上部署Spark 1.6.3,包括Scala的安装、Spark的配置与启动,并提供了不同模式下运行示例,如本地模式、Spark Standalone和Spark on YARN。
摘要由CSDN通过智能技术生成

0x01 软件环境

Spark 官方提供了三种集群部署方案: Standalone, Mesos, YARN。其中 Standalone 最为方便,本文主要讲述结合 YARN 的部署方案。

软件环境:

CentOS_6.5_x64

hadoop-2.6.5

jdk-1.8.111

scala-2.11.11

spark-1.6.3

0x02 安装scala

2.1 下载

Spark官方要求 Scala 版本为 2.11.x,注意不要下错版本,我这里下了 2.11.11,官方下载地址http://www.scala-lang.org/download/

2.2 解压安装

$ tar -zxvf scala-2.11.11.tgz

$ mv scala-2.11.11 ~/cloud/

//建立软链

$ ln -s /home/hadoop/cloud/scala-2.11.11 /home/hadoop/cloud/scala

2.3 配置环境变量

# vim /etc/profile

//追加

export SCALA_HOME=$WORK_SPACE/scala

export PATH=$PATH:$SCALA_HOME/bin

//使环境变量生效

# source /etc/profile

$ source /etc/profile

2.4 验证

$ scala -version #如果打印出如下版本信息,则说明安装成功

Scala code runner version 2.11.11 -- Copyright 2002-2017, LAMP/EPFL

0x03 安装spark

3.1 下载

3.2 解压安装

$ tar -zxvf spark-1.6.3-bin-hadoop2.6.tgz

$ mv spark-1.6.3-bin-hadoop2.6 ~/cloud/

$ ln -s /home/hadoop/cloud/spark-1.6.3-bin-hadoop2.6 /home/hadoop/spark

3.3 配置spark

$ cd ~/cloud/spark/conf #进入spark配置目录

$ cp spark-env.sh.template spark-env.sh #从配置模板复制

$ vim spark-env.sh #添加配置内容

在spark-env.sh末尾添加以下内容(这是我的配置,你可以自行修改):

export SCALA_HOME=/home/spark/cloud/scala

export JAVA_HOME=/home/spark/cloud/java

export HADOOP_HOME=/home/spark/cloud/hadoop

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

SPARK_MASTER_IP=master

SPARK_LOCAL_DIRS=/home/spark/cloud/spark

SPARK_DRIVER_MEMORY=512M

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

在slaves文件下填上slave主机名:

slave1

slave2

将配置好的spark-1.6.3-bin-hadoop2.6文件夹分发给所有slaves

scp -r ~/workspace/spark-1.6.3-bin-hadoop2.6 hadoop@slave1:~/cloud/

scp -r ~/workspace/spark-1.6.3-bin-hadoop2.6 hadoop@slave2:~/cloud/

注意:在slave节点要注意建立软链和配置环境变量。

3.4 启动Spark

$ sbin/start-all.sh

注意:这里的启动命令和hadoop的情动命令是一样的,由于都配置了环境变量,所以可能出现错误,所以可以将spark的启动命令进行重命名。所有节点均瑶进行此操作,除非在复制文件夹之前进行重命名。

$ cd ~/cliud/saprk/sbin

$ mv start-all.sh start-spark.sh

$ mv stop-all.sh stop-spark.sh

3.5 验证

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

$ jps

7949 Jps

7328 SecondaryNameNode

7805 Master

7137 NameNode

7475 ResourceManager

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

$jps

3132 DataNode

3759 Worker

3858 Jps

3231 NodeManager

0x04 运行示例

#本地模式两线程运行

./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 支持两种运行模式,分别为yarn-cluster和yarn-client,具体的区别可以看这篇博文,从广义上讲,yarn-cluster适用于生产环境;而yarn-client适用于交互和调试,也就是希望快速地看到application的输出

0x04参考文献

2017-05-04 15:24:17 星期四

update: 2017-10-18 15:30:28 星期三

修改部分错误,更新排版格式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值