目录
1. 方案一:整合到一个 docker-compose.yml 文件
2. 方案二:使用单独的 docker-compose.yml
一、Spark 与 Kafka 的 Docker 部署方案
对于已有的 Kafka+Zookeeper Docker 部署,现在想要添加 Spark,有两种主要方案:
1. 方案一:整合到一个 docker-compose.yml 文件
优点: 集中管理所有相关服务; 简化网络配置 ;容易理解整个系统架构
实现方式: 在已有的 docker-compose.yml 中添加 Spark 相关服务,例如:
version: '3'
services:
zookeeper:
# 你已有的 zookeeper 配置...
kafka:
# 你已有的 kafka 配置...
spark-master:
image: bitnami/spark:latest
environment:
- SPARK_MODE=master
ports:
- "8080:8080"
- "7077:7077"
spark-worker:
image: bitnami/spark:latest
environment:
- SPARK_MODE=worker
- SPARK_MASTER_URL=spark://spark-master:7077
depends_on:
- spark-master
2. 方案二:使用单独的 docker-compose.yml
优点:服务职责更加清晰分离;更灵活地独立管理服务;避免单个配置文件过于庞大
实现方式: 创建一个新的 docker-compose.yml 文件,专门用于 Spark:
version: '3'
services:
spark-master:
image: bitnami/spark:latest
environment:
- SPARK_MODE=master
ports:
- "8080:8080"
- "7077:7077"
networks:
- spark-network
- kafka-network # 与 Kafka 网络连接
spark-worker:
image: bitnami/spark:latest
environment:
- SPARK_MODE=worker
- SPARK_MASTER_URL=spark://spark-master:7077
depends_on:
- spark-master
networks:
- spark-network
networks:
spark-network:
driver: bridge
kafka-network:
external: true # 使用 Kafka 的外部网络
3. 关于 Zookeeper
不需要重复安装 Zookeeper。如果选择方案二(分开部署),Spark 可以通过 Docker 网络直接使用已有的 Zookeeper 实例。
只需确保:(1)在 Kafka 的 docker-compose.yml 中为网络命名;(2)在 Spark 的配置中将该网络声明为 external 网络;(3)先启动包含 Zookeeper 和 Kafka 的 docker-compose,然后再启动包含 Spark 的 docker-compose。
4. 建议
如果系统规模不大,建议使用方案一(单一 docker-compose 文件),这样更容易管理和理解整体架构。
如果希望更灵活地管理不同服务,或者已经有一个非常复杂的 Kafka 设置,方案二可能更合适。
无论哪种方案,确保在 Docker 网络配置上做好连接,让 Spark 能够访问 Kafka 和 Zookeeper。
二、分开部署 Spark
1. 创建目录结构
目录结构如下:
# 个人开发环境 目录
~/dev/
└── docker/ # spark-docker-compose.yml 相关配置
# 挂载目录
/data
├── spark/
│ ├── data/ # /opt/bitnami/spark/data 的挂载目录
│ │ ├── master/ # Spark Master节点
│ │ ├── worker1/ # Spark Worker1节点
│ │ └── worker2/ # Spark Worker2节点
│ ├── conf/ # /opt/bitnami/spark/conf 的挂载目录
│ │ ├── master/ # Spark Master节点
│ │ ├── worker1/ # Spark Worker1节点
│ │ └── worker2/ # Spark Worker2节点
│ └── logs/ # /opt/bitnami/spark/logs 的挂载目录
│ ├── master/ # Spark Master节点
│ ├──

最低0.47元/天 解锁文章
1762

被折叠的 条评论
为什么被折叠?



