当前位置:首页 > Debian > 正文

Debian Spark集群部署(手把手教你搭建Apache Spark分布式计算环境)

在大数据处理领域,Apache Spark 是一个强大且高效的分布式计算框架。本教程将带你从零开始,在 Debian 系统 上完成 Spark 集群部署,即使你是初学者也能轻松上手。我们将使用三台虚拟机(1个主节点 + 2个工作节点)来搭建一个小型 Spark 集群。

Debian Spark集群部署(手把手教你搭建Apache Spark分布式计算环境) Spark集群部署 Apache Spark集群搭建 Debian系统安装Spark Spark分布式计算教程 第1张

一、准备工作

在开始之前,请确保你有以下资源:

  • 3 台运行 Debian 11(Bullseye)或更新版本的服务器/虚拟机
  • 每台机器至少 2GB 内存和 2 核 CPU
  • 稳定的网络连接,各节点之间能互相通信
  • 具有 sudo 权限的用户账户

二、配置主机名与 hosts 文件

为便于管理,我们给每台机器设置固定主机名:

  • 主节点:spark-master
  • 工作节点1:spark-worker1
  • 工作节点2:spark-worker2

在每台机器上执行以下命令(以主节点为例):

sudo hostnamectl set-hostname spark-master

然后编辑 /etc/hosts 文件,在所有节点上添加如下内容:

192.168.1.10  spark-master192.168.1.11  spark-worker1192.168.1.12  spark-worker2

请根据你的实际 IP 地址进行修改。

三、安装 Java 环境

Spark 依赖 Java 运行环境。在所有节点上执行以下命令安装 OpenJDK 11:

sudo apt updatesudo apt install -y openjdk-11-jdk

验证安装是否成功:

java -version

应看到类似 "openjdk version "11.0.x" 的输出。

四、下载并配置 Spark

在所有节点上执行以下步骤:

  1. 下载 Spark(建议使用最新稳定版):
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 spark
  1. 设置环境变量(在所有节点的 ~/.bashrc 中添加):
export SPARK_HOME=/opt/sparkexport PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbinexport PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.9.7-src.zip

然后执行 source ~/.bashrc 使配置生效。

五、配置 Spark 集群

1. 配置主节点(spark-master)

进入 Spark 配置目录:

cd $SPARK_HOME/confcp spark-env.sh.template spark-env.sh

编辑 spark-env.sh,添加以下内容:

export SPARK_MASTER_HOST=spark-masterexport JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

2. 配置工作节点

在主节点上创建 workers 文件(原 slaves 文件):

cp workers.template workers

编辑 workers 文件,添加工作节点主机名:

spark-worker1spark-worker2

3. 同步配置到工作节点

使用 scp 将整个 Spark 目录复制到两个工作节点:

scp -r /opt/spark spark-worker1:/opt/scp -r /opt/spark spark-worker2:/opt/

六、启动 Spark 集群

在主节点上执行:

start-master.shstart-workers.sh

成功启动后,你可以通过浏览器访问 Web UI:

  • Master UI: http://spark-master:8080
  • Worker UI: http://spark-worker1:8081 和 http://spark-worker2:8081

七、测试集群

在主节点运行一个简单的 Spark Pi 示例:

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 的近似值(如 3.14...),说明你的 Debian Spark集群部署 成功了!

八、常见问题与优化建议

- 确保防火墙开放 7077(主节点)、8080(Web UI)等端口。
- 如果内存不足,可在 spark-env.sh 中调整 SPARK_WORKER_MEMORY
- 建议使用 SSH 免密登录,方便脚本自动化操作。
- 对于生产环境,考虑集成 HDFS 或 S3 作为存储层。

恭喜你!你已经成功完成了 Apache Spark集群搭建。现在你可以开始学习 Spark分布式计算教程,探索更多大数据分析的可能性。如果你是在 Debian系统安装Spark,本指南为你提供了完整的实践路径。