一 编译
以spark2.4 hadoop2.8.4为例
1,spark 项目根pom文件修改
pom文件新增
<profile>
<id>hadoop-2.8</id>
<properties>
<hadoop.version>2.8.4</hadoop.version>
</properties>
</profile>
2,在spark home 目录下执行
mvn -T 4 -Pyarn -Phadoop-2.8 -Dhadoop.version=2.8.4 -DskipTests clean package
3, 完成 maven编译 进行打包
在spark根目录下执行
./dev/make-distribution.sh --name hadoop2.8 --tgz -PR -Phadoop-2.8.4 -Phive -Phive-thriftserver -Pyarn
执行完毕在spark_home 根目录下 即生成相应版本的jar包
二 远程Debug
1. 编译远程spark项目下的文件
spark-2.4.0-bin-hadoop2.8/conf/spark-defaults.conf
增加内容如下 这个用来调试spark driver端代码
spark.driver.extraJavaOptions -agentlib:jdwp=transport=dt_socket,server=n,address=你本机的ip:5007,suspend=y
同样调试 excutor也可以如此 只需要 在spark.executor.extraJavaOptions 新增内容即可
2 我们将spark源码import到idea中
配置远程debug
这里因本地网跟远程不通 所以采用listen模式
先启动本地 idea spark项目 debug 再启动远程的spark任务
如图
下面就是 injoy yourself