Spark2.4.7(Standalone)搭建

1.虚拟机环境

主机名IP内存磁盘CPU系统
hadoop1192.168.56.772G40G1Centos7
hadoop2192.168.56.882G40G1Centos7
hadoop3192.168.56.992G40G1Centos7

2.下载安装包

使用中科大的开源软件镜像站,https://mirrors.ustc.edu.cn/apache/spark/spark-2.4.7/
USTC

3.安装前提

  • 三台机器配置了免密码登录

  • 三天机器都安装了JDK

  • 三台机器都配置了时间同步

  • 三台机器都关闭了防火墙

  • 三台机器都配置了IP到主机名的映射

    配置JDK的原因是Spark是使用Scala语言编写的,而Scala语言是基于Java的一个脚本化语言,是基于JVM的。

4.解压

首先需要使用sftp工具将Spark的安装包上传到虚拟机hadoop1上,在CRT中使用ALT+P即可为当前ssh会话打开一个sftp会话,将文件拖拽到sftp窗口即可将文件上传到当前虚拟机的用户主目录下。
SFTP

# 解压到opt目录
tar -zxvf spark-2.4.7-bin-hadoop2.7.tgz -C /opt/

5.配置环境变量

vi /etc/profile
export SPARK_HOME=/opt/spark-2.4.7-bin-hadoop2.7/
export PATH=$PATH:$SPARK_HOME/bin

Spark的客户端相关命令在bin目录,服务端相关命令在sbin目录,但是sbin目录中的启动脚本的脚本名和Hadoop启动脚本的脚本名重名了,因此这里只将bin目录加到了PATH中。
环境变量

6.修改配置文件

Spark的配置文件位于Spark安装目录的conf目录下,Spark只需要配置两个配置文件即可,一个是指定Worker节点的配置文件slaves,另外一个是指定Spark集群的环境的配置文件spark-env.sh。

# 进入到Spark的配置文件目录
cd /opt/spark-2.4.7-bin-hadoop2.7/conf/
# 查看当前目录下所有文件的详细信息
ll

conf

6.1修改slaves文件

可以直接vi 新建一个slaves文件,slaves文件的配置比较简单,只需要指定Worker节点的主机名即可

vi slaves
hadoop1
hadoop2
hadoop3
6.2修改spark-env.sh

spark-env.sh配置文件的内容相对多一点,需要将配置模板文件复制一份然后进行修改

# 复制模板配置
cp spark-env.sh.template spark-env.sh
# 修改配置
vi spark-env.sh
# 指定spark master节点的主机名
export SPARK_MASTER_HOST=hadoop1
# 指定Hadoop配置文件目录
HADOOP_CONF_DIR=/opt/hadoop-2.7.3/etc/hadoop/
# 指定jdk的安装路径 JAVA_HOME
JAVA_HOME=/opt/jdk1.8.0_171/

配置
官方文档:http://spark.apache.org/docs/2.4.7/spark-standalone.html

7.分发安装包

使用scp命令将配置好的Spark安装文件复制到其它节点

scp -r /opt/spark-2.4.7-bin-hadoop2.7 hadoop2:/opt/
scp -r /opt/spark-2.4.7-bin-hadoop2.7 hadoop3:/opt/

8.启动Spark

Spark的服务端相关脚本位于安装目录的sbin目录下。
启动脚本
主要使用start-all.sh来启动Spark的所有服务,使用stop-all.sh来停止Spark的所有服务。由于这两个脚本和Hadoop的启动停止脚本重名了,所以没有配置环境变量,在使用的时候需要指定全路径

/opt/spark-2.4.7-bin-hadoop2.7/sbin/start-all.sh

启动
Spark的启动是比较快速的,主要是由于Spark只需要启动服务进程就可以,不用像Hadoop一样还要加载元数据。启动完成后各个节点的进程如下:

# 使用jps查看Java进程
jps

JPS

9.WebUI

Spark提供了一个Web界面,用于监控Spark集群的状态,由Master进程监听了一个8080端口,在访问的时候使用hadoop1的IP:8088即可,这里使用http://192.168.56.77:8080/访问
Web UI
Spark搭建就完成了,相对于Hadoop、Hbase等其它大数据平台组件,Spark的搭建是比较简单的。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐