Spark 3.5.1 单机环境 5 分钟快速部署:Linux/Mac 双平台验证

发布时间:2026/9/14 21:15:12

Spark 3.5.1 单机环境 5 分钟快速部署:Linux/Mac 双平台验证 Spark 3.5.1 极速部署指南Linux/Mac 双平台实战对于需要快速验证Spark功能或进行本地开发的工程师而言繁琐的集群部署往往成为阻碍效率的第一道门槛。本文将带你用5分钟完成Spark 3.5.1最新版本在Linux/Mac环境的极简部署无需Hadoop依赖直接体验分布式计算的核心能力。1. 环境准备与资源选择在开始前请确保系统已安装JDK 8/11/17推荐OpenJDKPython 3.6仅PySpark需要至少4GB可用内存Spark 3.5.1提供了多种预编译包我们推荐选择spark-3.5.1-bin-hadoop3.tgz # 内置Hadoop客户端库提示即使选择without-hadoop版本Spark仍可独立运行只是无法直接连接HDFS下载速度优化国内用户# 使用阿里云镜像 wget https://mirrors.aliyun.com/apache/spark/spark-3.5.1/spark-3.5.1-bin-hadoop3.tgz2. 一键部署脚本将以下脚本保存为install_spark.sh并执行#!/bin/bash SPARK_VERSION3.5.1 HADOOP_VERSIONhadoop3 INSTALL_DIR$HOME/spark # 自动检测系统类型 if [[ $OSTYPE darwin* ]]; then BREW_PREFIX$(brew --prefix) export JAVA_HOME${JAVA_HOME:-$(/usr/libexec/java_home)} else export JAVA_HOME${JAVA_HOME:-$(dirname $(dirname $(readlink -f $(which javac))))} fi # 下载并解压 wget -qO- https://archive.apache.org/dist/spark/spark-$SPARK_VERSION/spark-$SPARK_VERSION-bin-$HADOOP_VERSION.tgz | \ tar xz -C /tmp \ mv /tmp/spark-$SPARK_VERSION-bin-$HADOOP_VERSION $INSTALL_DIR # 环境变量配置 cat EOF ~/.bashrc export SPARK_HOME$INSTALL_DIR export PATH\$PATH:\$SPARK_HOME/bin export PYSPARK_PYTHONpython3 export PYTHONPATH\$SPARK_HOME/python:\$PYTHONPATH EOF source ~/.bashrc echo Spark $SPARK_VERSION 安装完成 echo 快速测试命令pyspark --master local[2]关键配置说明local[2]表示使用2个线程的本地模式内存不足时可添加--driver-memory 1g3. 核心配置调优编辑$SPARK_HOME/conf/spark-defaults.conf增加spark.master local[*] spark.driver.memory 2g spark.executor.memory 1g spark.ui.port 4040 spark.sql.shuffle.partitions 8Mac用户特别注意# 解决MacOS文件句柄限制问题 echo ulimit -n 10000 ~/.bashrc4. 多语言开发验证Python示例PySparkfrom pyspark.sql import SparkSession spark SparkSession.builder \ .appName(WordCount) \ .getOrCreate() text spark.sparkContext.parallelize([ Spark is fast, Spark is easy, Spark is powerful ]) counts text.flatMap(lambda line: line.split( )) \ .map(lambda word: (word, 1)) \ .reduceByKey(lambda a, b: a b) print(counts.collect())Scala示例spark-shellval data Array(1, 2, 3, 4, 5) val distData sc.parallelize(data) println(distData.reduce(_ _))SQL验证CREATE TABLE demo (id INT, name STRING) USING parquet; INSERT INTO demo VALUES (1, Spark), (2, Flink); SELECT * FROM demo WHERE id 1;5. 性能对比测试不同部署模式资源消耗对比模式启动时间内存占用适合场景local1.2s300MB简单调试local[4]1.5s1.2GB多核计算local-cluster3.8s2.4GB模拟分布式环境测试WordCount性能1GB文本$ time spark-submit --master local[4] examples/src/main/python/wordcount.py input.txt real 0m28.417s user 0m52.813s sys 0m4.612s6. 常见问题排查问题1Java版本不兼容# 解决方案明确指定Java路径 export JAVA_HOME/path/to/jdk问题2Python版本冲突# 强制使用python3 export PYSPARK_PYTHONpython3问题3端口冲突# 修改Web UI端口 spark.ui.port4041日志查看技巧tail -f $SPARK_HOME/logs/spark-*.out7. 进阶技巧内存优化配置SparkSession.builder \ .config(spark.driver.memory, 4g) \ .config(spark.executor.memory, 2g) \ .config(spark.memory.offHeap.enabled, true) \ .config(spark.memory.offHeap.size, 1g)Jupyter集成pip install jupyter findspark然后在Notebook中import findspark findspark.init() from pyspark.sql import SparkSession spark SparkSession.builder.getOrCreate()依赖管理# 提交包含第三方库的作业 spark-submit --packages org.apache.spark:spark-sql-kafka-0-10_2.12:3.5.18. 资源清理卸载Spark只需rm -rf $SPARK_HOME # 并从.bashrc中移除相关环境变量临时文件清理# Spark产生的元数据 rm -rf /tmp/spark-*
延伸阅读

更多相关文章

2026/9/12 3:12:19

3分钟掌握SingleFile:让网页保存从此变得简单可靠

3分钟掌握SingleFile:让网页保存从此变得简单可靠 【免费下载链接】SingleFile Web Extension for saving a faithful copy of a complete web page in a single HTML file 项目地址: https://gitcode.com/gh_mirrors/si/SingleFile 你是否曾经遇到过这样的困…

2026/9/14 18:24:34

乌鲁木齐的干果老店竟然都藏在这个市场?

乌鲁木齐的干果老店竟然都藏在这个市场? 乌鲁木齐,这座充满异域风情的城市,不仅是丝绸之路的重要节点,也是新疆特产的集散地。在这里,你可以找到各种各样的新疆干果,而其中一些最古老、最有名的干果老店&a…

2026/9/13 8:31:57

GitHub 高效搜索 ROS 软件包:3 个高级技巧与 2 个官方仓库筛选策略

GitHub 高效搜索 ROS 软件包:3 个高级技巧与 2 个官方仓库筛选策略在机器人开发过程中,选择合适的 ROS 软件包往往能事半功倍。但面对 GitHub 上数以万计的 ROS 相关仓库,如何快速找到高质量、维护活跃的软件包?本文将分享一套系统…

2026/9/14 21:10:32

windows-privilege-escalation - SKILL

name: windows-privilege-escalation description: “Provide systematic methodologies for discovering and exploiting privilege escalation vulnerabilities on Windows systems during penetration testing engagements.” risk: offensive source: community author: ze…

2026/9/14 21:10:32

综合能源系统优化调度与Matlab实现技巧

1. 项目背景与核心价值在能源系统智能化转型的大背景下,综合能源系统(Integrated Energy System, IES)的优化调度正面临前所未有的复杂挑战。传统电力系统与热力、燃气等多能源网络的耦合,加上分时电价机制和需求响应策略的引入&a…

2026/9/14 21:10:32

Mac mini vs Pamir AI:本地Agent运行时的范式选择

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/14 21:10:32

Moo0工具箱:36款绿色工具解决音视频图片文件处理需求

1. Moo0工具箱概述Moo0工具箱是一款集合了36个绿色实用小工具的软件套装,专注于音视频处理、图片编辑和文件管理三大核心功能领域。作为一款免安装的便携式工具集,它解决了用户在日常生活和工作中常见的多媒体处理需求。这个工具箱最大的特点在于其"…

2026/9/14 21:05:31

PLC控制钢板定长剪切系统设计与实现

1. 钢板定长剪切自动控制系统概述在金属加工行业中,钢板定长剪切是板材预处理的关键工序。传统人工操作方式存在效率低、精度差、劳动强度大等问题。我们团队基于PLC开发的这套自动控制系统,通过伺服驱动、光电检测和气动执行机构的协同工作,…

2026/9/14 2:17:50

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/14 0:03:22

KCF目标跟踪算法与OTB工程实现:毕业设计实战解析

简介:这是一份基于KCF核相关滤波算法、融合尺度池与抗遮挡处理的目标检测跟踪MATLAB完整源码,主要面向计算机相关专业准备毕业设计、课程设计或期末大作业的学生,也适合需要项目实战练习的初学者。源码在OTB数据集上完成验证,能够…

2026/9/14 0:03:22

语音情感识别实战:Keras实现LSTM、CNN、SVM与MLP多模型对比

简介:面向语音情感识别入门与进阶开发者,这份基于Keras的项目源码完整实现了LSTM、CNN、SVM、MLP四种模型,兼容Python3.8与Keras/TensorFlow2环境。压缩包内含49个文件,大小约70.31MB,主体包括Python脚本、yaml/json配…

2026/9/14 11:59:31

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/14 13:53:59

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/14 11:22:57

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码