M2 MacbookPro配置Spark源码运行环境

零、版本信息

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的博客-CSDN博客

1,安装地址

Java Downloads | Oracle

M2 MacbookPro配置Spark源码运行环境_第1张图片

 

2,跳过Oracle登录限制

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

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

3,配置环境

1)查看JDK安装是否成功

java -version

2)查看安装目录

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

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

M2 MacbookPro配置Spark源码运行环境_第2张图片

方法二

/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

M2 MacbookPro配置Spark源码运行环境_第3张图片

 

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

M2 MacbookPro配置Spark源码运行环境_第4张图片

2,配置环境

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

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

// 3,激活
source ~/.zshrc

// 4,验证
mvn -v

// 5,setting.xml 
配置阿里云镜像

      
      nexus-aliyun
      central
      Nexus aliyun
      http://maven.aliyun.com/nexus/content/groups/public
      


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

四、Homebrew、Git安装(可选)

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

// 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

编译成功!

M2 MacbookPro配置Spark源码运行环境_第5张图片

进入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

M2 MacbookPro配置Spark源码运行环境_第6张图片

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

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

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

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

M2 MacbookPro配置Spark源码运行环境_第7张图片

// VM options
-Dspark.master=local

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

M2 MacbookPro配置Spark源码运行环境_第8张图片

3,debug

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

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

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

M2 MacbookPro配置Spark源码运行环境_第9张图片

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

M2 MacbookPro配置Spark源码运行环境_第10张图片

4,安装Antlr插件

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

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

2)配置ANTLR V4插件

M2 MacbookPro配置Spark源码运行环境_第11张图片

M2 MacbookPro配置Spark源码运行环境_第12张图片

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

M2 MacbookPro配置Spark源码运行环境_第13张图片

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

你可能感兴趣的:(spark,大数据,分布式)