前言
Spark的搭建依赖于Hadoop,因此本文基于之前分布式Hadoop环境,JDK、Hadoop等已安装好,
系统环境
- 虚拟机:VirtualBox
- Linux:Ubuntu 16.04 LTS
- HAdoop 2.7.5
- IDE:Intellij IDEA
- JDK 1.8.0_151
- Scala-2.12.4
- Spark-2.2.1
操作步骤
安装Scala
解压到当前目录
tar -zxvf scala-2.12.4.tgz
将解压后的文件夹移动到
/usr
下sudo mv scala-2.12.4/ /usr/
配置环境变量
sudo vim /etc/profile
添加如下代码,路径根据情况自己修改
export SCALA_HOME=/usr/scala-2.12.4
export PATH=$SCALA_HOME/bin:$PATH更新环境变量配置
source /etc/profile
验证是否安装成功
scala -version
安装Spark
下载Spark,由于Spark基于Hadoop,且之前已经安装好Hadoop,所以下载没有绑定Hadoop的版本,所以选择spark-2.2.1-bin-without-hadoop.tgz
解压到当前目录
tar -zxvf spark-2.2.1-bin-without-hadoop.tgz
将解压后的文件夹移动到
/usr/local/
sudo mv spark-2.2.1-bin-without-hadoop/ /usr/
配置环境变量
sudo vim /etc/profile
添加以下代码
export SPARK_HOME=/usr/spark-2.2.1-bin-without-hadoop
export PATH=$PATH:$SPARK_HOME/bin
export PATH=$PATH:$SPARK_HOME/sbin更新环境变量配置
source /etc/profile
Spark配置
【注】此处以master
主机为例,其他从机作相应更改
配置spark-env.sh
cd /usr/spark-2.2.1-bin-without-hadoop/conf/ |
添加以下代码
export SPARK_HOME=/usr/spark-2.2.1-bin-without-hadoop |
【注】
SPARK_LOCAL_IP
为本地地址,从机需要更改为自己的IP
配置slaves
sudo cp slaves.template slaves |
添加所有从机的主机名
node1 |
启动集群
因为Spark基于Hadoop,所以需要先启动Hadoop。
start-all.sh |
再启动Spark,进入到Spark安装目录下的sbin
文件夹
cd /usr/spark-2.2.1-bin-without-hadoop/sbin |
执行sbin
文件夹下的start-all.sh
,若直接执行start-all.sh
,启动的是Hadoop
./start-all.sh |
查看集群
查看进程
jps |
主机上显示以下进程
从机显示以下进程
通过Web查看状态
在主机master
上打开浏览器,访问http://localhost:8080
运行pyspark
进入到spark安装目录下的bin
文件夹
cd /usr/spark-2.2.1-bin-without-hadoop/bin/ |
运行pyspark
./pyspark |
运行spark-shell
进入到spark安装目录下的bin
文件夹
cd /usr/spark-2.2.1-bin-without-hadoop/bin/ |
运行spark-shell
./sparkshell |
以上,证明spark配置成功。
关闭集群
同样进入到Spark安装目录下的sbin
文件夹
cd /usr/spark-2.2.1-bin-without-hadoop/sbin |