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

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 官方下载:

wget https://archive.apache.org/dist/spark/spark-3.1.2/spark-3.1.2-bin-hadoop3.2.tgz

解压并移动到指定目录:

tar -zxvf spark-3.1.2-bin-hadoop3.2.tgz
mv spark-3.1.2-bin-hadoop3.2 /opt/module/

⚙ 3. 配置环境变量

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

# Spark
export SPARK_HOME=/opt/module/spark-3.1.2-bin-hadoop3.2
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

使配置生效:

source ~/.bashrc

🧪 4. 启动 Spark(Standalone 模式)

4.1 启动 Master 服务:

start-master.sh

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

spark://192.168.0.110:7077

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

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 可用性

spark-shell

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

val data = sc.parallelize(1 to 10)
data.reduce(_ + _)

输出为 55 表示运行成功。

在这里插入图片描述


⛔ 7. 停止 Spark 服务

stop-worker.sh
stop-master.sh

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

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

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 Masterstart-master.sh8080http://192.168.0.110:8080
Spark Workerstart-worker.sh spark://IP:70778081http://192.168.0.110:8081
Spark Shellspark-shell4040http://192.168.0.110:4040
http://www.xdnf.cn/news/777169.html

相关文章:

  • RAG架构中用到的模型学习思考
  • AWS App Mesh实战:构建可观测、安全的微服务通信解决方案
  • AWS VPC 网络详解:理解云上专属内网的关键要素
  • [java八股文][JavaSpring面试篇]SpringCloud
  • 【java】springboot注解关键字
  • 通过基于流视频预测的可泛化双手操作基础策略
  • grpc的二进制序列化与http的文本协议对比
  • Java高级 | (二十二)Java常用类库
  • R语言使用随机过采样(Random Oversampling)平衡数据集
  • LeetCode Hot100刷题——完全平方数
  • Shell脚本编程
  • java反序列化:CC5利用链解析
  • 由docker引入架构简单展开说说技术栈学习之路
  • pikachu靶场通关笔记12 XSS关卡08-XSS之htmlspecialchars(四种方法渗透)
  • SpringBoot中缓存@Cacheable出错
  • 机电工程常用设备
  • Spring AOP:面向切面编程 详解代理模式
  • C++ Vector算法精讲与底层探秘:从经典例题到性能优化全解析
  • Flink03-学习-套接字分词流自动写入工具
  • nginx+tomcat负载均衡群集
  • 设计模式-原型模式
  • 接口重试的7种常用方案!
  • 基于Python学习《Head First设计模式》第四章 工厂方法+抽象工厂
  • 【Zephyr 系列 4】串口通信进阶:打造自己的 AT 命令框架
  • 在树莓派3B上用Python编程完成流水灯实验
  • RAG理论基础总结
  • ps曲线调整
  • JavaSE:面向对象进阶之内部类(Inner Class)
  • 使用autoGen处理多agent
  • ps黑白调整