一 编译 

以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> maven仓库地址增加
<repository>
<id>bilibili-nexus-releases</id>
<url>http://nexus.bilibili.co/content/repositories/releases/</url>
</repository>
<repository>
<id>bilibili-nexus-snapshots</id>
<url>http://nexus.bilibili.co/content/repositories/snapshots/</url>
</repository>

2,在spark home 目录下执行

mvn  -T 4 -Pyarn -Phadoop-2.8  -DskipTests clean package

3, 完成 maven编译 进行打包

在spark根目录下执行

./dev/make-distribution.sh --name -hadoop-2.8 --tgz  -Dhadoop.version=2.8.4 -Phive -Phive-thriftserver -Pyarn

执行完毕在spark_home 根目录下 即生成相应版本的jar包

若想单独编译某模块 比如编译spark-core

依次执行

mvn clean install //将项目依赖拉到本地
./dev/make-distribution.sh --name hadoop2.8 --tgz  -Phadoop-2.8.4 -Phive -Phive-thriftserver -pl:spark-core_2.11 -Pyarn

二 远程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任务

如图

下面就是 enjoy yourself

编译+远程调试spark的更多相关文章

  1. VS混淆/反编译/远程调试/Spy++的Tools工具

    VS的Tools工具(混淆/反编译/远程调试/Spy++等) https://blog.csdn.net/chunyexiyu/article/details/14445605 参考:http://b ...

  2. (二)win7下用Intelij IDEA 远程调试spark standalone 集群

    关于这个spark的环境搭建了好久,踩了一堆坑,今天 环境: WIN7笔记本  spark 集群(4个虚拟机搭建的) Intelij IDEA15 scala-2.10.4 java-1.7.0 版本 ...

  3. Spark代码Eclipse远程调试

    我们在编写Spark Application或者是阅读源码的时候,我们很想知道代码的运行情况,比如参数设置的是否正确等等.用Logging方式来调试是一个可以选择的方式,但是,logging方式调试代 ...

  4. Spark1.4远程调试

    1)首先,我们是在使用spark-submit提交作业时,使用 --driver-java-options ”-Xdebug -Xrunjdwp:transport=dt_socket,server= ...

  5. Spark学习笔记之-Spark远程调试

    Spark远程调试                          本例子介绍简单介绍spark一种远程调试方法,使用的IDE是IntelliJ IDEA.   1.了解jvm一些参数属性   -X ...

  6. Spark应用远程调试

    本来想用Eclipse的.然而在网上找了一圈,发现大家都在说IntelliJ怎样怎样好.我也受到了鼓励,遂决定在这台破机器上鼓捣一次IntelliJ吧. Spark程序远程调试,就是将本地IDE连接到 ...

  7. hive,spark的远程调试设置

    spark的远程调试 spark-env.sh文件里面,加上下面配置即可: if [ "$DEBUG_MODE" = "true" ]; then export ...

  8. spark JAVA 开发环境搭建及远程调试

    spark JAVA 开发环境搭建及远程调试 以后要在项目中使用Spark 用户昵称文本做一下聚类分析,找出一些违规的昵称信息.以前折腾过Hadoop,于是看了下Spark官网的文档以及 github ...

  9. Spark远程调试参数

    Spark远程调试脚本: #调试Master,在master节点的spark-env.sh中添加SPARK_MASTER_OPTS变量 export SPARK_MASTER_OPTS="- ...

随机推荐

  1. UVA1674 闪电的能量 树剖

    UVA1674 闪电的能量 树剖 题面 水.树剖模板 #include <cstdio> #include <cstring> #include <algorithm&g ...

  2. Machine Schedule为什么UVA过了POJ过不了

    UVA1194 POJ1325 POJ要多判一个非零!!! #include<cstdio> #include<vector> #include<cstring> ...

  3. 【概率论】3-1:随机变量和分布(Random Variables and Discrete Distributions)

    title: [概率论]3-1:随机变量和分布(Random Variables and Discrete Distributions) categories: Mathematic Probabil ...

  4. Linux之创建多个子进程

    /*** fork_test.c ***/ #include<stdio.h> #include<stdlib.h> #include<unistd.h> int ...

  5. Django基础之ModelForm

    1. form与model的终极结合 class BookForm(forms.ModelForm): class Meta: model = models.Book fields = "_ ...

  6. CLR 虚方法调用和接口方法调用

    不知接口方法和虚方法分发有什么区别?似乎在CIL中都是callvirt指令. 对,MSIL里都是callvirt,但JIT的时候得到了不同的处理:对虚方法的分发是编译成这样: mov  ecx, es ...

  7. Android Popwindow使用总结

    Android Popwindow使用总结 转 https://www.jianshu.com/p/3812ff5ef272 1.基本使用方法 View view = getLayoutInflate ...

  8. Dynatrace

    1.概述 过去,企业的IT部门在测量系统性能时,一般重点测量为最终用户提供服务的硬件组件的利用率,如CPU利用率以及通过网络传输的字节数.虽然这种方法也提供了一些宝贵的信息,但却忽视了最重要的因素-- ...

  9. 002-jdk-数据结构-工具类Collections、Arrays、System.arraycopy

    常用备注 一.LIst to Array List<String> list = new ArrayList<String>(); Object[] array=list.to ...

  10. C++ STL copy copy_backward

    #include <iostream>#include <algorithm>#include <vector>#include <functional> ...