Spark4:集群搭建

Spark4:集群搭建

版本

Hadoop
3.3.2
Scala
2.13.8
Spark
3.3.0

准备

  • 安装jdk,配置jdk环境变量
  • Hadoop集群

Scala安装

下载

notion image
notion image
向下滚动,选择版本下载。
notion image
• 下载后上传到虚拟机目录/usr/local

解压

root@redis01:/usr/local# tar -zxvf scala-2.13.8.tgz

配置环境变量

编辑/etc/profile

  • 我这里放在自定义文件里/etc/profile.d/my_env.sh设置环境变量
vim /etc/profile.d/my_env.sh # Scala environment export SCALA_HOME=/usr/local/scala-2.13.8 export PATH=$PATH:$SCALA_HOME/bin

配置生效

root@redis01:/# source /etc/profile

查看版本号

root@redis01:/# scala -version
notion image

其他节点安装

scala-2.13.0.tgz压缩包发送到slave节点。
root@redis01:/# scp -r scala-2.13.0.tgz root@redis02:/usr/local/
我这里写了一个分发脚本,直接使用了分发给其他节点
root@redis01:/usr/local# xsync scala-2.13.8
配置环境变量(所有节点都需要)
root@redis02:/usr/local# vim /etc/profile.d/my_env.sh #Scala environment export SCALA_HOME=/usr/local/scala-2.13.8 export PATH=$PATH:$SCALA_HOME/bin
配置生效(所有节点都需要)
root@redis02:/usr/local# source /etc/profile

Spark安装

下载Spark

notion image
notion image

安装

解压

root@redis01:/usr/local# tar -zxvf spark-3.3.0-bin-hadoop3.tgz # 重命名 root@redis01:/usr/local# mv spark-3.3.0-bin-hadoop3 spark

查看目录

notion image

配置环境

编辑/etc/profile

  • 我这里放在自定义文件里/etc/profile.d/my_env.sh设置环境变量
vim /etc/profile.d/my_env.sh # Spark environment export SPARK_HOME=/usr/local/spark export PATH=$PATH:$SPARK_HOME/bin
notion image

配置生效

root@redis01:/# source /etc/profile

验证安装成功

root@redis01:/usr/local/spark# spark-shell
notion image

配置Spark

进入/conf目录
root@redis01:/usr/local/spark# cd conf/
notion image
spark-env.sh.template复制一份spark-env.sh
root@redis01:/usr/local/spark/conf# cp spark-env.sh.template spark-env.sh
配置spark-env.sh
root@redis01:/usr/local/spark/conf# vim spark-env.sh
加入以下配置
# java environment export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # hadoop environment export HADOOP_HOME=/usr/local/hadoop # Scala environment export SCALA_HOME=/usr/local/scala-2.13.8 # Spark environment export SPARK_HOME=/usr/local/spark export SPARK_MASTER_IP=redis01 export SPARK_MASTER_PORT=7077 export SPARK_EXECUTOR_MEMORY=1G
notion image
把workers.template拷贝一份改名为worlers
root@redis01:/usr/local/spark/conf# cp workers.template workers
配置workers
root@redis01:/usr/local/spark/conf# vim workers
# 添加节点 redis01 redis02 redis03
notion image
  • redis01、redis02、redis03为3个服务器的别名(也可以写ip地址)

将spark复制到其它所有节点

root@redis01:/usr/local# xsync spark

其他节点配置环境变量

编辑/etc/profile
  • 我这里放在自定义文件里/etc/profile.d/my_env.sh设置环境变量
vim /etc/profile.d/my_env.sh # Spark environment export SPARK_HOME=/usr/local/spark export PATH=$PATH:$SPARK_HOME/bin
notion image

配置生效

root@redis01:/# source /etc/profile

启动和测试Spark集群

• 因为spark是依赖于hadoop提供的分布式文件系统的,所以在启动spark之前,先确保hadoop在正常运行。

启动Hadoop集群

root@redis01:/usr/local/hadoop/sbin# ./start-all.sh

启动Spark集群

root@redis01:/usr/local/spark/sbin# ./start-all.sh
notion image
  • spark集群启动会多出下面进程
notion image

Web终端查看

notion image

启动停止

# 启动Hadoop root@redis01:/usr/local/hadoop/sbin# ./start-all.sh # 启动Spark root@redis01:/usr/local/spark/sbin# ./start-all.sh # 停止Spark root@redis01:/usr/local/spark/sbin# ./stop-all.sh # 停止Hadoop root@redis01:/usr/local/hadoop/sbin# ./stop-all.sh