M2 MacbookPro配置Spark源码运行环境

本文详细介绍了在MacBook Pro M2上搭建Spark源码调试环境的步骤。包括JDK、Scala、Maven的安装与环境配置,可选的Homebrew、Git安装,Spark源码的下载与编译,以及将源码导入IDEA进行测试和调试,还提及了Antlr插件的安装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

零、版本信息

MacBook:MacBook Pro M2

JDK:1.8.0_381

Scala:2.12.15

Maven:3.6.3

Homebrew:4.1.12(可选,下载Git需要)

Git:2.42.0(下载Spark源码需要)

Spark:3.2.5

整体配置流程参考@来自遥远的水星【Spark源码01【搭建Spark源码调试环境】】

一、JDK安装

参考一站式JDK安装与配置(Windows、MacOS(arm64与inter)、Linux)_zulu jdk_javgo.cn的博客-优快云博客

1,安装地址

Java Downloads | Oracle

 

2,跳过Oracle登录限制

参考jdk下载总需要登录Oracle官网怎么办?_下载jdk要oracle账户_金玉满堂@bj的博客-优快云博客

工具地址:oracle.com passwords - BugMeNot.

3,配置环境

1)查看JDK安装是否成功

java -version

2)查看安装目录

方法一:聚焦搜索 /Library/Java/JavaVirtualMachines

参考如何在Mac中找到jdk的安装路径_mac查看jdk安装位置_乌海黑的博客-优快云博客

方法二

/user/libexec/java_home -V

3)配置路径

// 1,编辑文件
vi ~/.zshrc

// 2,输入配置
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH

// 3,激活
source ~/.zshrc

// 4,查看配置
java -version

二、Scala安装

1,安装地址

Scala 2.12.15 | The Scala Programming Language

 

2,配置环境

下载的压缩包解压后移动到目标目录

// 1,编辑文件
vi ~/.zshrc

// 2,输入配置
export SCALA_HOME=安装包地址
export PATH=$PATH:$SCALA_HOME/bin

// 3,激活
source ~/.zshrc

三、Maven安装

1,安装地址

Index of /dist/maven/maven-3/3.6.3/binaries

2,配置环境

// 1,编辑文件
vi ~/.zshrc

// 2,输入配置
export M2_HOME=安装包地址
export PATH=$PATH:$M2_HOME/bin

// 3,激活
source ~/.zshrc

// 4,验证
mvn -v

// 5,setting.xml 
配置阿里云镜像
<mirrors>
      <mirror>
      <id>nexus-aliyun</id>
      <mirrorOf>central</mirrorOf>
      <name>Nexus aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
      </mirror>
</mirrors>

配置本地仓库地址
<localRepository>/Users/didi/mine/software/maven/repository</localRepository>

四、Homebrew、Git安装(可选)

参考【macOS】mac电脑M2芯片安装Homebrew 最简单的方法_macos安装homebrew_鱼仔是个NaN的博客-优快云博客

// 1,下载命令
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

// 2,查看Homebrew版本
brew -v

// 3,安装git
brew install git

// 4,查看git版本
git version

 

五、下载&编译Spark源码

// 1,创建spark源码存储目录,并将其设置为当前文件路径
/software/idea/code/spark

// 2,下载spark源码
git clone https://github.com/apache/spark

// 3,进入/software/idea/code/spark/spark 目录

// 4,查看远程分支
git branch -a 

// 5,切换至saprk3.2
git checkout remotes/origin/branch-3.2 

// 6,编译源码
mvn clean package  -Phive -Phive-thriftserver -Pyarn -DskipTests

编译成功!

进入spark-shell

./bin/spark-shell

对spark-shell感兴趣的朋友可以跟着官方文档的demo跑一下看看

Quick Start - Spark 3.5.0 Documentation

 

六、导入IDEA&测试

1,导入源码

Menu -> File -> Open -> {spark dir}/pom.xml -> Open as Project

如果右边import包时飘红,但是示例可以正常运行,可以试试这里的方法IDEA “Cannot resolve symbol XXXX” 解决办法 (4种解决方案)_idea cannot resolve symbol_北街风的博客-优快云博客

我是中途切换了一次IDEA版本(从2023.2切换到2020.3),删除.idea目录,重新打开项目,Open as Project后问题解决

2,配置测试用例Application(包括主类、VM options等)

详细参考【spark2】【源码学习】【环境编译】在idea导入spark源码,执行example并debug_spark example idea_kyle0349的博客-优快云博客

// VM options
-Dspark.master=local

我自己的配置结果如下(不同IDEA版本,配置界面稍有不同)

3,debug

跟spark相关的【java.lang.ClassNotFoundException】,原因都是example module中pom.xml spark的依赖scope是provided。

如果上面“Include dependencies with Provided scope”没有起作用

最简单的方法,将pom文件中所有provided行注释掉

还没有起作用的话,试试刷新缓存

4,安装Antlr插件

以下内容来自@来自遥远的水星【Spark源码01【搭建Spark源码调试环境】】

1)cmd + o 搜索SqlBase.g4文件,会提示你安装ANTLR v4插件, 重启idea 

2)配置ANTLR V4插件

放一张我这边配置完成后的截图

完结撒花✿✿ヽ(°▽°)ノ✿

<think>嗯,用户问的是如何在MacBook上配置Spark 3.2.2环境。我需要先回忆一下配置Spark的一般步骤,然后针对macOS系统做一些调整。首先,配置Spark通常需要Java环境,所以可能需要先安装JDK。然后下载Spark的安装包,解压,设置环境变量,可能还需要Hadoop的支持。 用户可能对Java版本不熟悉,需要提醒他们Spark 3.2.2对应的Java版本是什么。根据Spark官方文档,Spark 3.2.x需要Java 8或11。所以需要检查用户是否安装了正确的JDK版本。如果用户没有安装,需要指导他们如何安装,比如通过Homebrew或者Oracle官网下载。 接下来是下载Spark的步骤。用户需要到Apache官网下载正确的版本,这里要给出具体的URL,确保用户不会下载错误。然后解压到合适的目录,比如/usr/local/spark,这样方便管理。 然后是环境变量的配置,需要修改.bash_profile或者.zshrc,取决于用户使用的shell。要提醒用户根据自己使用的终端来修改对应的配置文件,并source一下让配置生效。 可能还需要配置Hadoop,因为Spark通常依赖Hadoop的库,特别是如果用户需要使用HDFS的话。不过Spark自带了Hadoop的某些版本,所以可能需要指定Hadoop版本的环境变量,比如SPARK_DIST_CLASSPATH。 最后,验证安装是否成功,运行spark-shell,看是否能正常启动,并执行简单的命令,比如计算Pi值。这一步很重要,确保用户的环境确实配置正确了。 用户可能遇到的问题包括Java路径不正确,环境变量没有生效,或者权限问题导致无法解压安装包。需要提醒他们检查路径是否正确,使用echo $JAVA_HOME确认Java环境,以及解压时使用sudo如果有必要。 另外,可能有些用户希望用PySpark,这时候需要Python的环境,但Spark 3.2.2可能对Python版本有要求,比如Python 3.6+。如果用户已经安装了Python,可能需要检查版本是否符合要求。 总结一下,步骤大概是:安装Java -> 下载并解压Spark -> 配置环境变量 -> 验证安装。中间需要详细说明每个步骤的具体操作和可能遇到的问题,确保用户能一步步跟着做下来。</think>以下是MacBook配置Spark 3.2.2环境的详细步骤: ### 一、前置环境准备 1. 安装Java 8/11(推荐JDK11) ```bash brew install openjdk@11 ``` 添加环境变量到`~/.zshrc`: ```bash export JAVA_HOME=/usr/local/opt/openjdk@11 ``` 2. 验证Java安装 ```bash java -version # 应显示"java version "11.x.x" ``` ### 二、Spark安装配置 1. 下载Spark 3.2.2 ```bash wget https://archive.apache.org/dist/spark/spark-3.2.2/spark-3.2.2-bin-hadoop3.2.tgz ``` 2. 解压到指定目录 ```bash sudo tar -zxvf spark-3.2.2-bin-hadoop3.2.tgz -C /usr/local/ sudo mv /usr/local/spark-3.2.2-bin-hadoop3.2 /usr/local/spark ``` 3. 配置环境变量(以zsh为例) 编辑`~/.zshrc`: ```bash export SPARK_HOME=/usr/local/spark export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin export PYSPARK_PYTHON=python3 ``` 生效配置: ```bash source ~/.zshrc ``` ### 三、验证安装 1. 启动Spark Shell ```bash spark-shell ``` 成功启动后应看到Spark logo: ```scala Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /___/ .__/\_,_/_/ /_/\_\ version 3.2.2 /_/ ``` 2. 执行测试任务 在Spark Shell中输入: ```scala val data = 1 to 100 val rdd = sc.parallelize(data) println(rdd.sum()) // 应输出5050.0 ``` ### 四、常见问题排查 1. **Hadoop依赖问题** 如果遇到Hadoop相关错误,执行: ```bash export SPARK_DIST_CLASSPATH=$(hadoop classpath) ``` 2. **Python版本兼容** 确保已安装Python 3.6+: ```bash python3 --version ``` 3. **端口冲突** 如果4040端口被占用,可指定其他端口: ```bash spark-shell --master local[4] --conf spark.ui.port=4041 ``` ### 五、进阶配置(可选) 1. 配置Standalone集群模式: ```bash $SPARK_HOME/sbin/start-master.sh $SPARK_HOME/sbin/start-worker.sh spark://your-master-ip:7077 ``` 2. 集成Jupyter Notebook: ```bash pip install findspark ``` 在Jupyter中使用: ```python import findspark findspark.init('/usr/local/spark') from pyspark.sql import SparkSession spark = SparkSession.builder.getOrCreate() ``` 配置完成后,即可通过`spark-submit`提交作业或使用PySpark进行开发。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值