Spark 单机模式部署与启动

🚀 Spark 单机模式部署与启动教程(适配 Hadoop 3.1.1)

本文记录了在 Linux 环境中部署 Spark 的完整过程,使用 Standalone 单机模式,适配 Hadoop 3.1.1,最终可通过 Web 页面访问 Spark Master 状态界面。


🧱 1. 环境准备

  • 操作系统:CentOS / Ubuntu / Rocky 等 Linux 发行版
  • Hadoop 版本:3.1.1(已安装)
  • Spark 版本:3.1.2 with Hadoop 3.2
  • Java 8+
  • 安装目录:/opt/module/spark-3.1.2-bin-hadoop3.2
  • 本机 IP:192.168.0.110

📦 2. 安装 Spark

从 Apache 官方下载:

bash 复制代码
wget https://archive.apache.org/dist/spark/spark-3.1.2/spark-3.1.2-bin-hadoop3.2.tgz

解压并移动到指定目录:

bash 复制代码
tar -zxvf spark-3.1.2-bin-hadoop3.2.tgz
mv spark-3.1.2-bin-hadoop3.2 /opt/module/

⚙ 3. 配置环境变量

编辑 ~/.bashrc~/.bash_profile,添加以下内容:

bash 复制代码
# Spark
export SPARK_HOME=/opt/module/spark-3.1.2-bin-hadoop3.2
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

使配置生效:

bash 复制代码
source ~/.bashrc

🧪 4. 启动 Spark(Standalone 模式)

4.1 启动 Master 服务:

bash 复制代码
start-master.sh

成功后会输出 Spark Master 的 URL,例如:

复制代码
spark://192.168.0.110:7077

4.2 启动 Worker 服务(连接到 Master):

bash 复制代码
start-worker.sh spark://192.168.0.110:7077

🌐 5. 访问 Web UI

5.1 Spark Master 页面:

在浏览器访问:

复制代码
http://192.168.0.110:8080

可查看集群状态、Worker 数量、运行的应用等。

5.2 Worker 页面(默认端口 8081):

复制代码
http://192.168.0.110:8081

5.3 Spark 应用页面(运行中):

如果你通过 spark-shell 或 spark-submit 启动应用,会自动开启:

复制代码
http://192.168.0.110:4040

✅ 6. 验证 Spark 可用性

bash 复制代码
spark-shell

进入交互式命令行,执行测试命令:

scala 复制代码
val data = sc.parallelize(1 to 10)
data.reduce(_ + _)

输出为 55 表示运行成功。


⛔ 7. 停止 Spark 服务

bash 复制代码
stop-worker.sh
stop-master.sh

🔐 8. 防火墙放行端口(可选)

确保你能从浏览器访问 Spark Web UI,需放通以下端口:

bash 复制代码
sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --add-port=8081/tcp --permanent
sudo firewall-cmd --add-port=7077/tcp --permanent
sudo firewall-cmd --add-port=4040/tcp --permanent
sudo firewall-cmd --reload

📌 总结

服务 启动命令 默认端口 访问地址
Spark Master start-master.sh 8080 http://192.168.0.110:8080
Spark Worker start-worker.sh spark://IP:7077 8081 http://192.168.0.110:8081
Spark Shell spark-shell 4040 http://192.168.0.110:4040
相关推荐
汤姆yu8 分钟前
基于大数据的天气分析与应用系统
大数据
悦光阴1 小时前
SQL Server 并发控制:Fabric Warehouse只支持快照隔离
大数据·运维·数据库·fabric
阿萨德528号1 小时前
Redis 分布式锁进阶:跨语言场景下的锁兼容性与一致性保障
数据库·redis·分布式
DolphinScheduler社区2 小时前
Apache DolphinScheduler 3.3.2 正式发布!性能与稳定性有重要更新
大数据·开源·apache·任务调度·海豚调度·发版
SeaTunnel2 小时前
Apache SeaTunnel 支持 Metalake 开发了!避免任务配置敏感信息暴露
大数据·开源·apache·个人开发·数据集成·seatunnel·看开源之夏
飞雁科技2 小时前
CRM客户管理系统定制开发:如何精准满足企业需求并提升效率?
大数据·运维·人工智能·devops·驻场开发
飞雁科技2 小时前
上位机软件定制开发技巧:如何打造专属工业解决方案?
大数据·人工智能·软件开发·devops·驻场开发
leafff1233 小时前
AI研究:大语言模型(LLMs)需要怎样的硬件算力
大数据·人工智能·语言模型
钛投标免费AI标书工具4 小时前
【官方认证】2025年AI标书工具:免费、零废标、安全
大数据·人工智能·安全
Lx3524 小时前
Flink Table API与SQL的最佳实践
大数据