Spark安装部署

0x01 软件环境

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

CentOS_6.5_x64
hadoop-2.5.2
jdk-1.8.111
scala-2.11.11
spark-2.1.0

0x02 安装scala

2.1 下载

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

2.2 解压安装

$ tar  -zxvf  scala-2.10.4.tgz
$ mv scala-2.10.4 ~/cloud/

2.3 配置环境变量

# vim /etc/profile
//追加
export SCALA_HOME=$WORK_SPACE/scala-2.10.4
export PATH=$PATH:$SCALA_HOME/bin
//使环境变量生效
# source /etc/profile
$ source /etc/profile

2.4 验证

$ scala -version #如果打印出如下版本信息,则说明安装成功
Scala code runner version 2.10.4 -- Copyright 2002-2013, LAMP/EPFL

0x03 安装spark

3.1 下载

进入官方下载地址http://spark.apache.org/downloads.html下载最新版 Spark。我下载的是 spark-1.3.0-bin-hadoop2.4.tgz

3.2 解压安装

tar -zxvf spark-1.3.0-bin-hadoop2.4.tgz

3.3 配置spark

cd ~/workspace/spark-1.3.0/conf    #进入spark配置目录
cp spark-env.sh.template spark-env.sh   #从配置模板复制
vi spark-env.sh     #添加配置内容

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

export SCALA_HOME=/home/spark/workspace/scala-2.10.4
export JAVA_HOME=/home/spark/workspace/jdk1.7.0_75
export HADOOP_HOME=/home/spark/workspace/hadoop-2.6.0
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
SPARK_MASTER_IP=master
SPARK_LOCAL_DIRS=/home/spark/workspace/spark-1.3.0
SPARK_DRIVER_MEMORY=1G

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

slaves文件下填上slave主机名:

slave1
slave2

将配置好的spark-1.3.0文件夹分发给所有slaves

scp -r ~/workspace/spark-1.3.0 spark@slave1:~/workspace/

3.4 启动Spark

sbin/start-all.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

进入Spark的Web管理页面: http://master:8080

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的输出

0x05 参考文献

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

posted @ 2017-06-12 19:00  ning-wang  阅读(556)  评论(0编辑  收藏  举报