Spark 1.6.1分布式集群环境搭建

时间:2021-08-07 08:21:34

一、软件准备

scala-2.11.8.tgz

spark-1.6.1-bin-hadoop2.6.tgz

二、Scala 安装

1、master 机器

(1)下载 scala-2.11.8.tgz, 解压到 /opt 目录下,即: /opt/scala-2.11.8。

(2)修改 scala-2.11.8 目录所属用户和用户组。

1
sudo chown -R hadoop:hadoop scala-2.11.8

(3)修改环境变量文件 .bashrc , 添加以下内容。

1
2
3
# Scala Env
export SCALA_HOME=/opt/scala-2.11.8
export PATH=$PATH:$SCALA_HOME/bin

运行 source .bashrc 使环境变量生效。

(4) 验证 Scala 安装

Spark 1.6.1分布式集群环境搭建

2、Slave机器

slave01 和 slave02 参照 master 机器安装步骤进行安装。

三、Spark 安装

1、master 机器

(1) 下载 spark-1.6.1-bin-hadoop2.6.tgz,解压到 /opt 目录下。

(2) 修改 spark-1.6.1-bin-hadoop2.6 目录所属用户和用户组。

1
sudo chown -R hadoop:hadoop spark-1.6.1-bin-hadoop2.6

(3)  修改环境变量文件 .bashrc , 添加以下内容。

1
2
3
# Spark Env
export SPARK_HOME=/opt/spark-1.6.1-bin-hadoop2.6
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

运行 source .bashrc 使环境变量生效。

(4) Spark 配置

进入 Spark 安装目录下的 conf 目录, 拷贝 spark-env.sh.template 到 spark-env.sh。

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

编辑 spark-env.sh,在其中添加以下配置信息:

1
2
3
4
5
export SCALA_HOME=/opt/scala-2.11.8
export JAVA_HOME=/opt/java/jdk1.7.0_80
export SPARK_MASTER_IP=192.168.109.137
export SPARK_WORKER_MEMORY=1g
export HADOOP_CONF_DIR=/opt/hadoop-2.6.4/etc/hadoop

JAVA_HOME 指定 Java 安装目录; 
SCALA_HOME 指定 Scala 安装目录; 
SPARK_MASTER_IP 指定 Spark 集群 Master 节点的 IP 地址; 
SPARK_WORKER_MEMORY 指定的是 Worker 节点能够分配给 Executors 的最大内存大小; 
HADOOP_CONF_DIR 指定 Hadoop 集群配置文件目录。

将 slaves.template 拷贝到 slaves, 编辑其内容为:

1
2
3
master
slave01
slave02

即 master 既是 Master 节点又是 Worker 节点。

2、slave机器

slave01 和 slave02 参照 master 机器安装步骤进行安装。

四、启动 Spark 集群

1、启动 Hadoop 集群

Hadoop 集群的启动可以参见之前的一篇文章 Hadoop 2.6.4分布式集群环境搭建,这里不再赘述。启动之后,可以分别在 master、slave01、slave02 上使用 jps 命令查看进程信息。

Spark 1.6.1分布式集群环境搭建

Spark 1.6.1分布式集群环境搭建

Spark 1.6.1分布式集群环境搭建

2、启动 Spark 集群

(1) 启动  Master 节点

运行 start-master.sh,结果如下:

Spark 1.6.1分布式集群环境搭建

可以看到 master 上多了一个新进程 Master。

(2) 启动所有 Worker 节点

运行 start-slaves.sh, 运行结果如下:

Spark 1.6.1分布式集群环境搭建

在 master、slave01 和 slave02 上使用 jps 命令,可以发现都启动了一个 Worker 进程

Spark 1.6.1分布式集群环境搭建Spark 1.6.1分布式集群环境搭建Spark 1.6.1分布式集群环境搭建

(3) 浏览器查看 Spark 集群信息。

访问:http://master:8080, 如下图:

Spark 1.6.1分布式集群环境搭建

Spark 1.6.1分布式集群环境搭建

(4) 使用 spark-shell

运行 spark-shell,可以进入 Spark 的 shell 控制台,如下:

Spark 1.6.1分布式集群环境搭建

(5) 浏览器访问 SparkUI

访问 http://master:4040, 如下图:

Spark 1.6.1分布式集群环境搭建

可以从 SparkUI 上查看一些 如环境变量、Job、Executor等信息。

至此,整个 Spark 分布式集群的搭建就到这里结束。

五、停止 Spark 集群

1、停止 Master 节点

运行 stop-master.sh 来停止 Master 节点。

Spark 1.6.1分布式集群环境搭建

使用 jps 命令查看当前 java 进程

Spark 1.6.1分布式集群环境搭建

可以发现 Master 进程已经停止。

2、停止 Worker 节点

运行 stop-slaves.sh 可以停止所有的 Worker 节点

Spark 1.6.1分布式集群环境搭建

使用 jps 命令查看 master、slave01、slave02 上的进程信息:

Spark 1.6.1分布式集群环境搭建

Spark 1.6.1分布式集群环境搭建

Spark 1.6.1分布式集群环境搭建

可以看到, Worker 进程均已停止,最后再停止 Hadoop 集群。

六、遗留问题

设置的 SCALA_HOME 没有生效,Spark 启动时用的是自带的 Scala 2.10.5 版本。