04、Spark Standalone集群搭建
4.1 集群概述
独立模式是Spark集群模式之一,需要在多台节点上安装spark软件包,并分别启动master节点和worker节点。master节点是管理节点,负责和各worker节点通信,完成worker的注册与注销。worker节点是任务执行节点,通过worker节点孵化出执行器子进程来执行任务。
4.2 集群规划
这里使用4台主机部署Spark集群,主机名称分别是s101、s102、s103和s104。
s101 #Master节点
s102 #Worker节点
s103 #Worker节点
s104 #Worker节点
4.3 集群搭建
4.3.1 安装Spark软件包
按照前文安装spark软件包的方式分别在以上四台主机上安装Spark,注意目录和权限尽量保持一致,以便集群容易维护和管理。也可以将之前的Spark安装目录和环境变量文件分发到以上四台主机。具体安装步骤略。
4.3.2 配置hadoop软连接
在以上四台机的spark配置目录下,创建core-site.xml和hdfs-site.xml软连接文件指向hadoop的配置文件。
#进入配置目录
$>cd /soft/spark/conf
#创建软连接
$>ln -s /soft/hadoop/etc/hadoop/core-site.xml core-site.xml
$>ln -s /soft/hadoop/etc/hadoop/hdfs-site.xml hdfs-site.xml
创建完成后,如下图所示:
4.3.3 修改slaves文件
只需要在master节点对该文件进行修改即可,但为了保持所有节点配置一致性,我们对所有节点都进行修改,或者修改后进行分发。slaves文件内容如下:
#使用如下命令进入slaves文件编辑模式
$>nano /soft/spark/conf/slaves
#输入如下内容,列出所有worker节点。
s102
s103
s104
4.3.4 配置JAVA_HOME环境变量
修改配置目录下spark-env.sh文件,指定JAVA_HOME环境变量。
#使用如下命令进入spark-env.sh文件编辑模式
$>nano /soft/spark/conf/spark-env.sh
#添加如下内容
...
export JAVA_HOME=/soft/jdk
...
编辑内容如下图所示:
4.4 启动集群
启动spark集群时,如果配置了hadoop配置文件,需要先启动hadoop集群,然后再启动Spark集群。由于Spark Standalone集群模式只是从hdfs读取文件,并不需要yarn的支持,因此只需要启动hadoop的hdfs相关进程即可。
#启动hadoop hdfs
$>/soft/hadoop/sbin/start-dfs.sh
#启动Spark集群
$>/soft/spark/sbin/start-all.sh
注意:Spark和Hadoop都有启动所有进程的脚本,并且都叫start-all.sh,因此再使用时一定要使用绝对路径。
查看进程结果如图:
4.5 查看webui
通过如下url地址访问spark webui:
http://s101:8080/
打开页面如下图所示: