使用Docker部署ApacheSpark集群教程
- 电脑硬件
- 2025-09-01 09:39:02

简介
Apache Spark 是一个强大的统一分析引擎,用于大规模数据处理。本文将详细介绍如何使用 Docker 和 Docker Compose 快速部署一个包含一个 Master 节点和两个 Worker 节点的 Spark 集群。这种方法不仅简化了集群的搭建过程,还提供了资源隔离、易于扩展等优势。
前置条件在开始之前,请确保你的环境中已经准备好了以下组件:
安装并运行 Docker Engine。安装 Docker Compose,用于定义和运行多容器应用。主机能够连接到 Docker Hub 以下载所需的镜像。 Docker Compose 文件配置 创建 docker-compose.yml首先,创建一个名为 docker-compose.yml 的文件,并添加如下内容:
version: '3' services: master: image: bitnami/spark:3.5.4 container_name: master user: root environment: - SPARK_MODE=master - SPARK_MASTER_WEBUI_PORT=8080 - SPARK_MASTER_PORT=7077 ports: - '8080:8080' - '7077:7077' volumes: - ./python:/python worker1: image: bitnami/spark:3.5.4 container_name: worker1 user: root environment: - SPARK_MODE=worker - SPARK_MASTER_URL=spark://master:7077 - SPARK_WORKER_MEMORY=1G - SPARK_WORKER_CORES=1 depends_on: - master worker2: image: bitnami/spark:3.5.4 container_name: worker2 user: root environment: - SPARK_MODE=worker - SPARK_MASTER_URL=spark://master:7077 - SPARK_WORKER_MEMORY=1G - SPARK_WORKER_CORES=1 depends_on: - master networks: default: driver: bridge 启动 Spark 集群进入保存 docker-compose.yml 文件的目录,执行以下命令启动集群:
docker compose up -d这将构建并以后台模式启动所有容器。
验证集群状态成功启动后,您可以通过浏览器访问 {您的虚拟机IP}:8080 查看 Spark Master 的 Web UI,确认 worker1 和 worker2 是否已成功连接。
运行 Spark 作业为了测试集群功能,可以提交一个简单的 Python 脚本 pi.py 计算圆周率 Pi 的近似值。脚本内容如下:
from pyspark.sql import SparkSession if __name__ == "__main__": spark = SparkSession.builder.appName("Pi Calculator").getOrCreate() numSamples = 100000000 count = spark.sparkContext.parallelize(range(1, numSamples)).count() print(f"Pi is roughly {4.0 * count / numSamples}") spark.stop()将此脚本放置于 ./python 目录下,并通过以下命令提交作业:
docker-compose exec master /opt/bitnami/spark/bin/spark-submit --master spark://master:7077 /python/pi.py 结束语通过上述步骤,您已经成功地使用 Docker 部署了一个包含一个 Master 节点和两个 Worker 节点的 Spark 集群。这种部署方式不仅快速便捷,而且便于根据需求调整配置(如增加 Worker 节点数量或调整资源配置)。希望这篇教程能帮助您快速上手 Spark 集群的 Docker 部署!
使用Docker部署ApacheSpark集群教程由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“使用Docker部署ApacheSpark集群教程”
上一篇
【深度学习】Transformer入门:通俗易懂的介绍
下一篇
玩客云IP查找