Spark基础学习笔记05:搭建Spark Standalone集群

本文详细介绍了如何搭建Spark Standalone模式的集群,包括架构、提交方式、集群拓扑和角色分配,以及详细的配置步骤,如主机名映射、防火墙关闭、SeLinux禁用、免密登录设置、JDK安装、Hadoop与Spark配置,最后展示了如何启动、访问WebUI和提交Spark应用程序。
摘要由CSDN通过智能技术生成

文章目录
零、本讲学习目标
搭建Spark Standalone模式的集群
能够启动Spark Standalone模式的集群
学会Spark应用程序的提交
Spark的两种集群运行模式:Spark Standalone模式和Spark On YARN模式。Standalone模式需要启动Spark集群,而Spark On YARN模式不需要启动Spark集群,只需要启动YARN集群即可。先来搭建Spark Standalone模式的集群。

一、Spark Standalone架构
Spark Standalone模式为经典的Master/Slave(主/从)架构,资源调度是Spark自己实现的。在Standalone模式中,根据应用程序提交的方式不同,Driver(主控进程)在集群中的位置也有所不同。应用程序的提交方式主要有两种:client和cluster,默认是client。可以在向Spark集群提交应用程序时使用–deploy-mode参数指定提交方式。
(一)client提交方式
当提交方式为client时,运行架构如下图所示
在这里插入图片描述

集群的主节点称为Master节点,在集群启动时会在主节点启动一个名为Master的守护进程,类似YARN集群的ResourceManager;从节点称为Worker节点,在集群启动时会在各个从节点上启动一个名为Worker的守护进程,类似YARN集群的NodeManager。

Spark在执行应用程序的过程中会启动Driver和Executor两种JVM进程。

Driver为主控进程,负责执行应用程序的main()方法,创建SparkContext对象(负责与Spark集群进行交互),提交Spark作业,并将作业转化为Task(一个作业由多个Task任务组成),然后在各个Executor进程间对Task进行调度和监控。通常用SparkContext代表Driver。在上图的架构中,Spark会在客户端启动一个名为SparkSubmit的进程,Driver程序则运行于该进程。

Executor为应用程序运行在Worker节点上的一个进程,由Worker进程启动,负责执行具体的Task,并存储数据在内存或磁盘上。每个应用程序都有各自独立的一个或多个Executor进程。在Spark Standalone模式和Spark on YARN模式中,Executor进程的名称为CoarseGrainedExecutorBackend,类似运行MapReduce程序所产生的YarnChild进程,并且同时与Worker、Driver都有通信。

(二)cluster提交方式
当提交方式为cluster时,运行架构如下图所示
在这里插入图片描述

Standalone cluster提交方式提交应用程序后,客户端仍然会产生一个名为SparkSubmit的进程,但是该进程会在应用程序提交给集群之后就立即退出。当应用程序运行时,Master会在集群中选择一个Worker进程启动一个名为DriverWrapper的子进程,该子进程即为Driver进程,所起的作用相当于YARN集群的ApplicationMaster角色,类似MapReduce程序运行时所产生的MRAppMaster进程。
二、Spark集群拓扑
(一)集群拓扑
一个主节点,两个从节点
在这里插入图片描述

(二)集群角色分配
Spark Standalone模式的集群搭建需要在集群的每个节点都安装Spark,集群角色分配如下表所示。

在这里插入图片描述

三、搭建三节点集群
(一)在私有云上创建三台虚拟机
创建配置过程,参看本博《在OpenStack私有云上创建与配置虚拟机》
在这里插入图片描述

(二)利用FinalShell登录三台虚拟机
在宿主机win7上启动FinalShell
在这里插入图片描述

1、创建SSH连接
创建三个SSH连接,连接master、slave1和slave2三个节点

在这里插入图片描述

1、登录master虚拟机
单击连接管理器里的master,登录master虚拟机
在这里插入图片描述

测试能否ping通百度 - www.baidu.com
在这里插入图片描述

2、登录slave1虚拟机
单击连接管理器里的slave1,登录slave1虚拟机
在这里插入图片描述

测试能否ping通百度 - www.baidu.com

3、登录slave2虚拟机
单击连接管理器里的slave2,登录slave2虚拟机
在这里插入图片描述

测试能否ping通百度 - www.baidu.com

(三)查看三台虚拟机主机名
查看master虚拟机主机名
在这里插入图片描述

查看slave1虚拟机主机名
在这里插入图片描述

查看slave2虚拟机主机名
在这里插入图片描述

设置主机名命令:hostnamectl set-hostname <主机名>
(四)配置三台虚拟机IP-主机名映射

在三台虚拟机上安装vim编辑器,执行命令:yum -y install vim
1、配置master虚拟机IP-主机名映射
执行命令:vim /etc/hosts
在这里插入图片描述

查看主机映射配置文件

2、配置slave1虚拟机IP-主机名映射
执行命令:vim /etc/hosts
在这里插入图片描述

查看主机映射配置文件

3、配置slave2虚拟机IP-主机名映射
执行命令:vim /etc/hosts
在这里插入图片描述

查看主机映射配置文件

(五)关闭与禁用防火墙
1、了解相关命令
(1)关闭防火墙命令
systemctl stop firewalld
(2)禁用防火墙命令
systemctl disable firewalld
(3)查看防火墙状态
systemctl status firewalld
2、关闭与禁用防火墙
(1)关闭与禁用master虚拟机防火墙
关闭防火墙
在这里插入图片描述

禁用防火墙
在这里插入图片描述

查看防火墙状态
在这里插入图片描述

(2)关闭与禁用slave1虚拟机防火墙
关闭防火墙

禁用防火墙

查看防火墙状态

(3)关闭与禁用slave2虚拟机防火墙
关闭防火墙

禁用防火墙

查看防火墙状态

(六)关闭SeLinux安全机制
安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。
SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。
SELinux 有三种工作模式,分别是enforcing:强制模式;permissive:宽容模式;disabled:关闭 SELinux。
/etc/sysconfig/selinux 文件里SELINUX=enforcing,将enforcing改成disabled,就可以关闭SeLinux安全机制
1、在master虚拟机上关闭SeLinux安全机制
执行命令:vim /etc/sysconfig/selinux
在这里插入图片描述

2、在slave1虚拟机上关闭SeLinux安全机制
执行命令:vim /etc/sysconfig/selinux
在这里插入图片描述

3、在slave2虚拟机上关闭SeLinux安全机制
执行命令:vim /etc/sysconfig/selinux
在这里插入图片描述

(七)设置三台虚拟机免密登录
1、master虚拟机免密登录master
执行命令:ssh-keygen,生成密钥对
在这里插入图片描述

执行命令:ssh-copy-id root@master,将公钥拷贝到master
在这里插入图片描述

测试master节点是否免密登录自己
在这里插入图片描述

2、master虚拟机免密登录slave1
执行命令:ssh-copy-id root@slave1,将公钥拷贝到slave1
在这里插入图片描述

测试master节点是否免密登录slave1
在这里插入图片描述

3、master虚拟机免密登录slave2
执行命令:ssh-copy-id root@slave2,将公钥拷贝到slave2
在这里插入图片描述

测试master节点是否免密登录slave2
在这里插入图片描述

(八)上传大数据相关软件到虚拟机
在win7虚拟机上查看相关软件
在这里插入图片描述

上传到master虚拟机/opt目录
在这里插入图片描述

(九)在三台虚拟机上安装配置JDK
1、在master虚拟机上安装配置JDK
进入/opt目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值