发布时间:2026/7/12 7:32:33
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/7/12 7:32:33

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/7/12 7:32:33

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

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

2026/7/12 7:32:33

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

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

2026/7/12 8:27:35

Unity 6000下MelonLoader的StreamWriter构造函数异常分析与解决方案

1. 项目概述:当MelonLoader遇上Unity 6000 如果你是一个Unity游戏的模组开发者,或者正在尝试为某个使用Unity 6000引擎的新游戏制作插件,那么你很可能已经和MelonLoader打过交道。MelonLoader作为目前最流行的Unity游戏模组加载器之一&#x…

2026/7/12 8:27:35

STM32与TLP2770光耦在工业隔离电路中的应用

1. 项目背景与核心需求 在工业控制和电力电子领域,高压元件与低压控制设备之间的信号隔离一直是个关键挑战。想象一下,当你需要用一个3.3V的微控制器去监测380V交流电机的运行状态时,直接连接不仅会烧毁芯片,还可能引发严重的安全…

2026/7/12 8:27:35

【计算机视觉】dlib 人脸检测

文章目录完整代码一览一、安装 dlib 库二、逐行代码解释导入库创建人脸检测器读取图像执行人脸检测绘制矩形框显示和保存结果三、与 OpenCV Haar 级联的对比完整代码一览 import cv2 import dlibdetector dlib.get_frontal_face_detector() img cv2.imread(pyy.png)faces d…

2026/7/12 8:27:35

从CES 2020看数字孪生与实时渲染如何重塑硬件产品开发与展示

1. 从CES 2020的“全数字演示”看展会形态的拐点 如果你和我一样,每年都关注CES(国际消费电子展),那么2020年的那一届,绝对是一个值得反复回味的特殊节点。那一年,拉斯维加斯的展馆里依然人声鼎沸&#xff…

2026/7/12 8:22:34

C++ list::splice 操作深度解析:原理、应用与性能优化

1. 项目概述:为什么需要深度理解list::splice?在C标准库的众多容器中,std::list常常因为其双向链表的底层结构而被贴上“低效”的标签,尤其是在随机访问的场景下。然而,在需要频繁进行元素插入、删除和序列重组的场景里…

2026/7/12 0:01:29

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/12 0:01:29

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展,充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本,对充电机与电动汽车之间的通信提出了更严格…

2026/7/12 0:01:29

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗?&#x1f…

2026/7/12 0:01:29

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/12 0:01:29

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展,充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本,对充电机与电动汽车之间的通信提出了更严格…

2026/7/12 0:01:29

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗?&#x1f…

2026/7/11 8:37:53

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…