Spark2.3.1版本全分布模式的安装与部署

部署Spark的全分布模式,至少需要三台Linux机器,首先要有一些准备工作,就是配置Hadoop的全分布环境。我准备了三台机器,分别命名为Master,Worker1,Worker2
如果不清楚如何配置Hadoop的全分布环境,点击如下链接进行配置:
Hadoop2.X的安装与配置(全分布模式)

配置完Hadoop全分布环境后,接下来开始安装配置Spark2.3.1版本全分布模式,这里部署的全分布模式是standalone模式。

接下来开始进行配置,在主节点Master上进行配置,然后把配置好的文件复制到其它机器
1、在Windows上下载Spark2.3.1安装包
点击如下链接进行下载:
由于配置的Hadoop版本是2.7.7,所以下载spark-2.3.1-bin-hadoop2.7.tgz这个压缩包
Spark官网下载地址

2、将安装包上传到Linux上,并解压缩
使用WinSCP将压缩包上传到事先创建好的tools目录下

使用SecureCRT远程连接上Linux,将压缩包解压到事先创建好的software目录下

1
2
3
4
[root@Master ~]# cd tools/
[root@Master tools]# ls
hadoop-2.7.7.tar.gz jdk-8u131-linux-x64.tar.gz spark-2.3.1-bin-hadoop2.7.tgz
[root@Master tools]# tar -zxvf spark-2.3.1-bin-hadoop2.7.tgz -C ~/software/

3、修改spark-env.sh配置文件
使用vi编辑器修改spark-env.sh配置文件

1
2
3
[root@Master tools]# cd ~/software/spark-2.3.1-bin-hadoop2.7/conf/
[root@Master conf]# cp spark-env.sh.template spark-env.sh
[root@Master conf]# vi spark-env.sh

在spark-env.sh文件末尾添加如下内容:分别是JAVA_HOME,主机名和端口号

1
2
3
export JAVA_HOME=/root/software/jdk1.8.0_131
export SPARK_MASTER_HOST=Master
export SPARK_MASTER_PORT=7077

这里添加的是你自己那台机器的JAVA_HOME路径,主机名,端口号不变,就是7077。
添加完成后,保存退出。

4、修改slaves配置文件
使用vi编辑器修改slaves配置文件

1
2
[root@Master conf]# cp slaves.template slaves
[root@Master conf]# vi slaves

删除slaves文件末尾的localhost,并添加从节点的主机名:

1
2
Worker1
Worker2

添加完成后,保存退出。

5、把主节点上配置好的spark环境复制到从节点上
由于配置了SSH免密码登录,所以这里复制到其他机器上不需要输入密码。
复制到第一个从节点Worker1上

1
2
[root@Master ~]# cd software/
[root@Master software]# scp -r spark-2.3.1-bin-hadoop2.7/ root@Worker1:/root/software/

复制到第二个从节点Worker2上

1
[root@Master software]# scp -r spark-2.3.1-bin-hadoop2.7/ root@Worker2:/root/software/

可以在从节点Worker1上看到复制过来的spark-2.3.1

大专栏  Spark2.3.1版本全分布模式的安装与部署>
1
2
3
[root@Worker1 ~]# cd software/
[root@Worker1 software]# ls
hadoop-2.7.7 jdk1.8.0_131 spark-2.3.1-bin-hadoop2.7

可以在从节点Worker2上看到复制过来的spark-2.3.1

1
2
3
[root@Worker2 ~]# cd software/
[root@Worker2 software]# ls
hadoop-2.7.7 jdk1.8.0_131 spark-2.3.1-bin-hadoop2.7

到这里Spark的全分布模式的配置就完成了。

启动Spark全分布集群:
由于hadoop和spark命令启动脚本start-all.sh有冲突,所以在系统的环境变量配置文件bash_profile中,不配置Spark的环境。
启动Spark,在主节点Master上,进入spark目录中进行启动。

1
2
3
4
5
[root@Master ~]# cd ~/software/spark-2.3.1-bin-hadoop2.7/
[root@Master spark-2.3.1-bin-hadoop2.7]# sbin/start-all.sh
starting org.apache.spark.deploy.master.Master, logging to /root/software/spark-2.3.1-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.master.Master-1-Master.out
Worker2: starting org.apache.spark.deploy.worker.Worker, logging to /root/software/spark-2.3.1-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-Worker2.out
Worker1: starting org.apache.spark.deploy.worker.Worker, logging to /root/software/spark-2.3.1-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-Worker1.out

从打印出的日志可以看到,在主节点上启动了Master,两个从节点上各自启动了一个Worker。
因为在系统的环境变量配置文件bash_profile中配置了Hadoop的环境,所以除了在spark-2.3.1-bin-hadoop2.7/sbin目录下使用start-all.sh命令启动的是Spark集群的全分布环境,其它任何位置使用start-all.sh命令启动的是Hadoop集群的全分布环境。

使用jps命令查看后台进程,也可以看到各个节点启动的进程。

1
2
3
[root@Master ~]# jps
18576 Jps
18510 Master

1
2
3
[root@Worker1 ~]# jps
14097 Jps
14026 Worker
1
2
3
[root@Worker2 ~]# jps
13669 Worker
13739 Jps



若要查看集群的基本信息,可以在网页中输入主节点IP:8080端口进行访问。

注意:若使用购买的Linux服务器,这里的IP为公网IP。

在这个网页中也可以看到此时有两个从节点Worker


若要关闭Spark集群,在主节点使用如下命令关闭

1
2
3
4
[root@Master spark-2.3.1-bin-hadoop2.7]# sbin/stop-all.sh 
Worker2: stopping org.apache.spark.deploy.worker.Worker
Worker1: stopping org.apache.spark.deploy.worker.Worker
stopping org.apache.spark.deploy.master.Master

到这里Spark2.3.1版本全分布模式的配置,以及启动关闭就介绍完了。

如果在安装过程中遇到什么问题,欢迎评论。
本文均为原创,如需转载请注明链接http://www.ggstu.com

猜你喜欢

转载自www.cnblogs.com/lijianming180/p/12402218.html