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
相关推荐
SoFlu软件机器人32 分钟前
秒级构建消息驱动架构:描述事件流程,生成 Spring Cloud Stream+RabbitMQ 代码
分布式·架构·rabbitmq
smileNicky37 分钟前
RabbitMQ消息确认机制有几个confirm?
分布式·rabbitmq
智海观潮1 小时前
Unity Catalog与Apache Iceberg如何重塑Data+AI时代的企业数据架构
大数据·人工智能·ai·iceberg·catalog
柏峰电子2 小时前
市政道路积水监测系统:守护城市雨天出行安全的 “智慧防线”
大数据·人工智能·安全
威斯软科的老司机3 小时前
AR远程协作系统设计:虚实融合场景下的设备维护操作指引界面
大数据·ar·可视化
静若繁花_jingjing6 小时前
电商项目_核心业务_分布式ID服务
分布式
陆水A6 小时前
数仓主题域划分
大数据·数据仓库·数据库开发·etl·etl工程师
道一云黑板报7 小时前
Spark初探:揭秘速度优势与生态融合实践
大数据·分布式·spark·流式处理
Fireworkitte7 小时前
分布式链路追踪详解
分布式
字节跳动数据平台7 小时前
火山引擎多模态数据湖:AI时代的数据湖如何挖掘图片、视频、语音的“富矿”?
大数据