在当今的大数据时代,Apache Spark 因其卓越的内存计算能力和丰富的生态系统,已成为处理大规模数据的首选框架之一。而 RockyLinux 作为一款稳定、开源且与 RHEL 兼容的企业级操作系统,是部署 Spark 集群的理想选择。本教程将带你从零开始,在 RockyLinux 上部署一个完整的 Spark 集群,即使是 Linux 和大数据领域的新手也能轻松上手。
一、准备工作
在开始之前,请确保你有以下资源:
至少 2 台 RockyLinux 8 或 9 的服务器(一台作为 Master,其余作为 Worker) 每台服务器至少 2GB 内存(推荐 4GB 以上) 稳定的网络连接,并确保各节点之间可以通过主机名互相访问 root 权限或具有 sudo 权限的用户二、配置主机名与 hosts 文件
为方便管理,建议为每台机器设置有意义的主机名,并在所有节点的
/etc/hosts文件中添加彼此的映射。
例如,在 Master 节点执行:
# 设置主机名(以 master 为例)sudo hostnamectl set-hostname spark-master# 编辑 hosts 文件sudo vi /etc/hosts
在所有节点的
/etc/hosts中添加如下内容(根据你的实际 IP 修改):
192.168.1.10 spark-master192.168.1.11 spark-worker1192.168.1.12 spark-worker2
三、安装 Java 环境
Spark 依赖 Java 运行环境。RockyLinux 默认仓库中包含 OpenJDK,我们使用它即可。
sudo dnf install -y java-11-openjdk-devel# 验证安装java -version
输出应显示 OpenJDK 11 的版本信息。
四、下载并安装 Apache Spark
前往 Apache Spark 官网 获取最新稳定版。本教程以 Spark 3.5.0 为例。
cd /optsudo wget https://dlcdn.apache.org/spark/spark-3.5.0/spark-3.5.0-bin-hadoop3.tgzsudo tar -xzf spark-3.5.0-bin-hadoop3.tgzsudo mv spark-3.5.0-bin-hadoop3 sparksudo chown -R $(whoami):$(whoami) spark
五、配置 Spark 环境变量
编辑用户主目录下的
.bashrc文件,添加 Spark 和 Java 路径:
echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk' >> ~/.bashrcecho 'export SPARK_HOME=/opt/spark' >> ~/.bashrcecho 'export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin' >> ~/.bashrcsource ~/.bashrc
六、配置 Spark 集群
进入 Spark 配置目录:
cd $SPARK_HOME/conf
创建配置文件:
cp spark-env.sh.template spark-env.shcp workers.template workers
编辑
spark-env.sh,添加以下内容:
# spark-env.shexport JAVA_HOME=/usr/lib/jvm/java-11-openjdkexport SPARK_MASTER_HOST=spark-masterexport SPARK_WORKER_MEMORY=2g
编辑
workers文件,列出所有 Worker 节点的主机名:
# workersspark-worker1spark-worker2
将配置好的 Spark 目录复制到所有 Worker 节点(确保路径一致):
# 在 master 节点执行(假设已配置 SSH 免密登录)scp -r /opt/spark user@spark-worker1:/opt/scp -r /opt/spark user@spark-worker2:/opt/
七、启动 Spark 集群
在 Master 节点执行以下命令启动集群:
$SPARK_HOME/sbin/start-master.sh$SPARK_HOME/sbin/start-workers.sh
启动成功后,可通过浏览器访问 Web UI:
http://spark-master:8080,查看集群状态和 Worker 节点信息。
八、验证集群功能
运行一个简单的 Spark Pi 示例程序:
$SPARK_HOME/bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master spark://spark-master:7077 \ $SPARK_HOME/examples/jars/spark-examples_2.12-3.5.0.jar \ 100
如果看到输出中包含类似
Pi is roughly 3.14...的结果,说明你的 RockyLinux Spark集群部署 成功!
九、常见问题与优化建议
防火墙问题:确保 7077(Master)、8080(Web UI)、8081(Worker UI)等端口开放。 SSH 免密登录:建议配置 Master 到各 Worker 的 SSH 免密,便于脚本管理。 资源调优:根据实际硬件调整SPARK_WORKER_MEMORY和 CPU 核心数。
结语
通过本教程,你已经成功在 RockyLinux 上部署了一个功能完整的 Spark 集群。无论是用于学习、开发还是生产环境,这个基础架构都能为你提供强大的 Spark分布式计算 能力。随着你对 RockyLinux大数据平台 的深入使用,还可以集成 HDFS、Hive、Kafka 等组件,构建更强大的数据处理流水线。希望这篇 Apache Spark安装教程 能成为你大数据之旅的坚实起点!
