概述
Spark集群有4种搭建的方式,分别是Standalone、Yarn、Mesos和Kubernetes的方式。其中Mesos以前在国外用的比较多,现在新的版本中已经被移除了。
集群规划
机器名称 | IP | 角色 |
---|---|---|
k8s-node3 | 192.168.0.52 | master |
k8s-node5 | 192.168.0.109 | slave |
k8s-node6 | 192.168.0.44 | slave |
环境准备
- 修改主机名及主机名和IP地址的映射
修改/etc/hosts文件,添加如下内容
192.168.0.52 k8s-node3
192.168.0.44 k8s-node6
192.168.0.109 k8s-node5
- 关闭防火墙
- ssh免密登录
- 安装JDK,配置环境变量等
- 搭建Hadoop集群,搭建方式见:《Hadoop学习笔记系列:01-Hadoop-Yarn高可用HA集群的搭建》
安装配置步骤
1、下载安装包
到官网下载对应Hadoop版本的Spark安装包,由于我的hadoop 集群是Hadoop3.3.1版本的,所以我准备安装Spark3.2.1以上的版本,下载地址:https://dlcdn.apache.org/spark/spark-3.3.0/spark-3.3.0-bin-hadoop3.tgz
在K8s-node3服务器上执行操作:
wget https://dlcdn.apache.org/spark/spark-3.3.0/spark-3.3.0-bin-hadoop3.tgz
2、解压文件
[root@k8s-node3 software]# tar -xzvf spark-3.3.0-bin-hadoop3.tgz
3.配置Spark
spark-env.sh文件
export SPARK_MASTER_HOST=k8s-node3
export SPARK_MASTER_PORT=6000
export SPARK_MASTER_WEBUI_PORT=8088
说明:
- SPARK_MASTER_HOST 是主节点的主机名
- SPARK_MASTER_PORT 是spark主节点服务监听地址,运行spark任务时需要用到该端口
- SPARK_MASTER_WEBUI_PORT 是主节点WEB管理工具的监听端口,默认是8080,因为和我主机上的服务有冲突,所以改为9099
workers 从节点地址列表
k8s-node5
k8s-node6
4.将文件分发到worker节点
[root@k8s-node3 software]# scp -r spark-3.3.0-bin-hadoop3 k8s-node5:$PWD/
[root@k8s-node3 software]# scp -r spark-3.3.0-bin-hadoop3 k8s-node6:$PWD/
启动集群
[root@k8s-node3 sbin]# cd /home/software/spark-3.3.0-bin-hadoop3/sbin
[root@k8s-node3 sbin]# ./start-all.sh
Tips: 注意,因为Hadoop集群的启动方式也是start-all.sh,所以不要直接执行start-all.sh,要先进入到
在浏览器输入http://192.168.0.52:9099,就可以进入到Spark的Web管理界面