在Linux上安装Spark

1. 目的

介绍了在多节点群集上部署和配置Spark的步骤。设置和安装完成后,可以使用Spark处理数据。

2. 按照以下给出的步骤在Ubuntu上安装Spark

2.1 部署平台

平台要求

OS:可以使用Ubuntu 14.04或更高版本(其他Linux版本也可以使用,如CentOS,Redhat等)

Spark:Apache Spark 2.x

如果您使用Windows / Mac OS,则可以使用VMWare 创建虚拟机并安装Ubuntu。

2.2 在Master上安装Spark

2.2.1 准备

1) 编辑hosts文件

sudo vi /etc/hosts

添加以下内容

MASTER-IP master

SLAVE01-IP slave01

SLAVE02-IP slave02

2) 安装JDK

去oracle官网(http://www.oracle.com/technetwork/java/javase/downloads/index.html)下载jdk-xxx.tar.gz,解压到:<path-of-java-installation>目录下。

tar -zxvf jdk-xxx.tar.gz 

修改:/etc/profile

export JAVA_HOME=<path-of-java-installation>

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 

export PATH=$PATH:$JAVA_HOME/bin

通过source命令重新加载/etc/profile文件,使得修改后的内容在当前shell窗口有效:

source /etc/profile

3) 安装Scala

去scala官网(https://www.scala-lang.org/download/)下载scala-xxx.tgz,解压到:<path-of-scala-installation>目录下。

tar zxvf scala-xxx.tgz

修改:/etc/profile

export SCALA_HOME=<path-of-scala-installation>

export PATH=$PATH:$SCALA_HOME/bin

通过source命令重新加载/etc/profile文件,使得修改后的内容在当前shell窗口有效:

source /etc/profile

4) 配置SSH

4.1) 安装Open SSH Server-Client

sudo apt-get install openssh-server openssh-client

4.2) 生成Key Pairs

ssh-keygen -t rsa -P ""

4.3) 配置免密码SSH

将.ssh/id_rsa.pub(master)的内容复制到.ssh/authorized_keys(所有的Slave)

4.4) 检查SSH

ssh slave01

ssh slave02

2.2.2 安装Spark

1) 下载Spark

http://spark.apache.org/downloads.html

2) 解压缩

tar xzf spark-2.0.0-bin-hadoop2.6.tgz

修改:/etc/profile

export SPARK_HOME=<path-of-spark-installation>

export PATH=$PATH:$SPARK_HOME/bin

3) 配置

3.1) 编辑spark-env.sh

需要拷贝spark-env.sh.template到spark-env.sh

cp spark-env.sh.template spark-env.sh

修改spark-env.sh如下:

export JAVA_HOME=<path-of-Java-installation>

export SCALA_HOME=<path-of-scala-installation>

export SPARK_MASTER_IP=master

export SPARK_WORKER_CORES=8

3.2) 添加Slave

在$ SPARK_HOME/conf/中创建配置文件slaves,并添加以下内容

slave01

slave02

现在Spark已经成功安装在Master上,然后在所有的Slave上部署Spark。

2.3 在Slave上安装Spark

注意,三台机器Spark所在目录必须一致,因为master会登陆到slave上执行命令,master认为slave的spark路径与自己一样。

2.3.1 准备

在所有的Slave上运行下面的步骤

1)编辑hosts文件

2)安装JDK

3)安装Scala

2.3.2 拷贝在Master安装好的Spark到所有的Slave上

1)tar czf spark.tar.gz spark-2.0.0-bin-hadoop2.6 (在Master上运行)

2)拷贝spark.tar.gz到所有的Slave上 (在Master上运行)

scp spark.tar.gz slave01:~

scp spark.tar.gz slave02:~

2.3.3 在所有的Slave上解压缩spark.tar.gz

tar xzf spark.tar.gz

现在Spark已经安装在所有的Slaves上,然后在集群上启动守护进程。

2.4 启动Spark集群

2.4.1 启动Spark服务(在Master上运行)

sbin/start-all.sh

2.4.2 检查服务启动情况

1) 在Master上检查守护进程

jps

Master

2) 在Slave上检查守护进程

jps

Worker

2.5 Spark Web UI

2.5.1 Spark Master UI

http://MASTER-IP:8080/

2.5.2 Spark application UI

http://MASTER-IP:4040/

2.6 停止Spark集群

sbin/stop-all.sh(在Master上运行)

3. 结论

安装完Spark后,现在可以使用Spark了,可以创建RDD,执行RDD。

在Linux上安装Spark
滚动到顶部