在当今大数据时代,Apache Spark 已成为最受欢迎的分布式计算框架之一。它以内存计算为核心,支持批处理、流处理、机器学习和图计算等多种数据处理场景。本教程将带你从零开始,在 CentOS 系统上完成 Spark集群部署,即使你是完全的小白,也能轻松上手!

一、准备工作
在开始部署前,请确保你有以下资源:
至少3台 CentOS 7/8 服务器(1个Master + 2个Worker) 每台服务器至少2GB内存、2核CPU 所有节点之间网络互通,且能通过SSH免密登录 已安装 Java 8 或 Java 11(Spark 依赖 Java 环境)二、配置基础环境
1. 设置主机名与Hosts
在每台服务器上分别设置主机名(以Master为例):
# Master节点执行sudo hostnamectl set-hostname spark-master# Worker1节点执行sudo hostnamectl set-hostname spark-worker1# Worker2节点执行sudo hostnamectl set-hostname spark-worker2
然后在所有节点的
/etc/hosts文件中添加如下内容:
192.168.1.10 spark-master192.168.1.11 spark-worker1192.168.1.12 spark-worker2
2. 安装Java
在所有节点上安装 OpenJDK 8:
sudo yum install -y java-1.8.0-openjdk-devel# 验证安装java -version
3. 配置SSH免密登录
在Master节点生成SSH密钥,并分发到所有Worker节点:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsassh-copy-id spark-worker1ssh-copy-id spark-worker2
测试是否可以无密码登录:
ssh spark-worker1
三、下载并安装Spark
在Master节点操作,然后同步到其他节点。
cd /optsudo wget https://dlcdn.apache.org/spark/spark-3.5.0/spark-3.5.0-bin-hadoop3.tgzsudo tar -zxvf spark-3.5.0-bin-hadoop3.tgzsudo mv spark-3.5.0-bin-hadoop3 sparksudo chown -R $USER:$USER spark
将Spark目录复制到所有Worker节点:
scp -r /opt/spark spark-worker1:/opt/scp -r /opt/spark spark-worker2:/opt/
四、配置Spark集群
进入Spark配置目录:
cd /opt/spark/conf
1. 配置spark-env.sh
cp spark-env.sh.template spark-env.sh
编辑
spark-env.sh,添加以下内容:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdkexport SPARK_MASTER_HOST=spark-masterexport SPARK_WORKER_MEMORY=1gexport SPARK_WORKER_CORES=2
2. 配置workers文件
cp workers.template workers
编辑
workers文件,添加Worker节点主机名:
spark-worker1spark-worker2
五、启动Spark集群
在Master节点执行启动脚本:
/opt/spark/sbin/start-master.sh/opt/spark/sbin/start-workers.sh
成功启动后,可通过浏览器访问Web UI:http://spark-master:8080,查看集群状态。
六、验证集群功能
提交一个简单的Pi计算任务测试集群:
/opt/spark/bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master spark://spark-master:7077 \ /opt/spark/examples/jars/spark-examples_2.12-3.5.0.jar \ 100
如果输出中包含类似
Pi is roughly 3.14...的结果,说明你的 CentOS Spark集群部署 成功了!
七、常见问题与优化建议
防火墙问题:确保关闭防火墙或开放端口(7077、8080等) 内存不足:根据实际硬件调整SPARK_WORKER_MEMORY日志查看:日志位于
/opt/spark/logs目录下 高可用扩展:生产环境建议结合ZooKeeper实现Master高可用
通过本教程,你已经掌握了在 CentOS 上部署 Spark分布式计算 集群的核心步骤。这套 CentOS大数据平台 可作为后续开发数据管道、机器学习模型等应用的基础。如果你正在寻找一份完整的 Apache Spark安装教程,恭喜你,现在你已经拥有了!
祝你在大数据之旅中一帆风顺!
