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

Apache Spark 集群部署与使用指南

Apache Spark 集群部署与使用指南

本文档介绍如何使用 Docker 部署 Apache Spark 集群,并通过 PySpark 进行分布式数据处理。

目录

  • 环境准备
  • 集群部署
  • 连接集群
  • 数据处理示例
  • Web UI 访问

环境准备

确保您的系统已安装以下软件:

  • Docker
  • Docker Compose

集群部署

1. Docker Compose 配置

创建 docker-compose.yml 文件,配置 Spark 集群:

services:spark-master:image: apache/spark:3.5.0container_name: spark-masterports:- "8080:8080"  # Spark Master Web UI- "7077:7077"  # Spark Master 端口command: /opt/spark/bin/spark-class org.apache.spark.deploy.master.Masterenvironment:- SPARK_MASTER_HOST=0.0.0.0- SPARK_MASTER_PORT=7077- SPARK_MASTER_WEBUI_PORT=8080volumes:- ./data:/opt/spark-datanetworks:- spark-networkspark-worker-1:image: apache/spark:3.5.0container_name: spark-worker-1ports:- "8081:8081"  # Worker 1 Web UIcommand: /opt/spark/bin/spark-class org.apache.spark.deploy.worker.Worker spark://spark-master:7077environment:- SPARK_WORKER_CORES=2- SPARK_WORKER_MEMORY=2g- SPARK_WORKER_WEBUI_PORT=8081depends_on:- spark-mastervolumes:- ./data:/opt/spark-datanetworks:- spark-networkspark-worker-2:image: apache/spark:3.5.0container_name: spark-worker-2ports:- "8082:8081"  # Worker 2 Web UIcommand: /opt/spark/bin/spark-class org.apache.spark.deploy.worker.Worker spark://spark-master:7077environment:- SPARK_WORKER_CORES=2- SPARK_WORKER_MEMORY=2g- SPARK_WORKER_WEBUI_PORT=8081depends_on:- spark-mastervolumes:- ./data:/opt/spark-datanetworks:- spark-networknetworks:spark-network:driver: bridgevolumes:spark-data:

2. 启动集群

# 启动 Spark 集群
docker-compose up -d# 检查容器状态
docker-compose ps

在这里插入图片描述

连接集群

1. 进入 Master 容器

docker exec -it spark-master bash

2. 启动 PySpark Shell

在容器内执行以下命令连接到集群:

/opt/spark/bin/pyspark --master spark://spark-master:7077

在这里插入图片描述

数据处理示例

1. 验证集群连接

# 验证 SparkContext 是否正确连接到集群
print("Spark version:", sc.version)
print("Master:", sc.master)
print("应用ID:", sc.applicationId)

2. 创建和处理 RDD

# 创建一个简单的 RDD 进行计算
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
rdd = sc.parallelize(data)# 执行分布式计算
result = rdd.map(lambda x: x * 2).filter(lambda x: x > 5).collect()
print("计算结果:", result)

预期输出:

计算结果: [6, 8, 10, 12, 14, 16, 18, 20]

在这里插入图片描述

Web UI 访问

部署完成后,您可以通过以下 URL 访问 Spark Web UI:

  • Spark Master UI: http://localhost:8080
  • Worker 1 UI: http://localhost:8081
  • Worker 2 UI: http://localhost:8082

通过 Web UI 可以监控:

  • 集群状态和资源使用情况
  • 正在运行的应用程序
  • 作业执行历史
  • 执行器状态
    在这里插入图片描述

总结

通过本指南,您已经学会了:

  1. 使用 Docker Compose 部署 Spark 集群
  2. 连接到集群并使用 PySpark
  3. 执行基本的分布式数据处理任务
  4. 通过 Web UI 监控集群状态

这为进一步的大数据处理和分析奠定了基础。

http://www.dtcms.com/a/506627.html

相关文章:

  • 基于3D LiDAR的作物排检,用于在不同种植密度下成熟时的大豆
  • Python使用Medical Information Dataset实战2025.07版(上)
  • 基因组学中的深度学习!
  • 基于容器适配器模式的 Stack 与 Queue 实现:复用底层容器的优雅设计
  • Kafka面试精讲 Day 26:Kafka集群部署与配置
  • 73_基于深度学习的水面漂浮垃圾检测系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)
  • 在JavaScript中,清除 Canvas 画布上的内容
  • 方便做简笔画的网站或软件公司人员管理系统
  • SQL之参数类型讲解
  • CTFSHOW—WEB5
  • UU远程深度测评:重构远程控制体验的“无套路”标杆
  • 提升 iOS 26 系统流畅度的实战指南,多工具组合监控
  • vue3:vue3 + elementplus + pinia实现js的XMLHttpRequest 下载功能。
  • 如何在macOS上免密登录阿里云ECS服务器
  • 把“天猫”装进 JVM:Java 关键词商品爬虫从 0 到 1(含完整可运行代码)
  • tar打包过滤指定目录指南
  • 塘厦镇住房规划建设局网站wordpress主题生成
  • 5-SpringCloud-服务链路追踪 Micrometer Tracing
  • 网站怎样做谷歌推广没有网站怎么做淘宝客
  • 【C/C++基本功】union联合体彻底详解
  • 万字 Apache ShardingSphere 完全指南:从分库分表到分布式数据库生态
  • WebPages PHP:深入理解与高效实践
  • 数据结构-滑动窗口三题
  • 做黑网站吗怎么建设营销型网站
  • 免费企业网站程序关注love石家庄公众号微信
  • 如何进行网站开发网站开发郑州
  • 东营建网站wordpress商城汉化主题
  • 合肥昱天建设有限公司网站2016手机网站制作规范
  • 网站制作 青岛seo工具下载
  • 做初中物理题目的网站photoshop 做网站logo