一 编译
以spark2.4 hadoop2.8.4为例
<style></style>
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
为了加快执行
编译 dev目录下
vi make-distribution.sh 修改 #VERSION=$("$MVN" help:evaluate -Dexpression=project.version $@ 2>/dev/null\ # | grep -v "INFO"\ # | grep -v "WARNING"\ # | tail -n 1) #SCALA_VERSION=$("$MVN" help:evaluate -Dexpression=scala.binary.version $@ 2>/dev/null\ # | grep -v "INFO"\ # | grep -v "WARNING"\ # | tail -n 1) #SPARK_HADOOP_VERSION=$("$MVN" help:evaluate -Dexpression=hadoop.version $@ 2>/dev/null\ # | grep -v "INFO"\ # | grep -v "WARNING"\ # | tail -n 1) SPARK_HIVE=$("$MVN" help:evaluate -Dexpression=project.activeProfiles -pl sql/hive $@ 2>/dev/null\ | grep -v "INFO"\ | grep -v "WARNING"\ | fgrep --count "<id>hive</id>";\ # Reset exit status to 0, otherwise the script stops here if the last grep finds nothing\ # because we use "set -o pipefail" echo -n) VERSION=2.4.0 SCALA_VERSION=2.11.8 SPARK_HADOOP_VERSION=2.8.4
3, 完成 maven编译 进行打包
在spark根目录下执行
./dev/make-distribution.sh --name hadoop2.8 --tgz -PR -Phadoop-2.8.4 -Phive -Phive-thriftserver -Pyarn
问了加快编译 修改dev目录下
执行完毕在spark_home 根目录下 即生成相应版本的jar包
<style></style>
二 远程Debug
1. 编译远程spark项目下的文件
spark-2.4.0-bin-hadoop2.8/conf/spark-defaults.conf
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
<style></style>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。