Apache Spark 是一个统一的分析引擎,用于大规模数据处理。使用 Docker 部署 Spark 集群是一种简便且高效的方式。本文将详细介绍如何通过 Docker Compose 部署一个 Spark 集群,包括一个 Master 节点和多个 Worker 节点。
环境要求
在开始部署之前,请确保以下环境已准备就绪:
- Docker Engine:安装并运行 Docker。
- Docker Compose:安装 Docker Compose,用于定义和运行多容器应用。
- 网络环境:确保主机可以连接到 Docker Hub 以下载镜像。
Docker Compose 配置文件
以下是用于部署 Spark 集群的 docker-compose.yml
文件:
version: '3'
services:
master:
image: bitnami/spark:3.5.4
container_name: master
user: root
environment:
- SPARK_MODE=master
- SPARK_RPC_AUTHENTICATION_ENABLED=no
- SPARK_RPC_ENCRYPTION_ENABLED=no
- SPARK_LOCAL_STORAGE_ENCRYPTION_ENABLED=no
- SPARK_SSL_ENABLED=no
- 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
- SPARK_RPC_AUTHENTICATION_ENABLED=no
- SPARK_RPC_ENCRYPTION_ENABLED=no
- SPARK_LOCAL_STORAGE_