zoukankan      html  css  js  c++  java
  • 编译+远程调试spark

    一 编译 

      以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 

     

     

       

     

  • 相关阅读:
    记一次CTF比赛过程与解题思路MISC部分
    使用requests爬虫遇到的一个奇葩的问题:UnicodeEncodeError: 'latin1' codec can't encode character
    纯前端实现词云展示+附微博热搜词云Demo代码
    亚马逊精细化选品服务
    乔布斯访谈笔记
    使用腾讯云轻量级服务器
    centos 设置阿里的yum源
    云未来、新可能 绿色、无处不在、可信的计算
    OpenKruise v1.0:云原生应用自动化达到新的高峰
    服务发现与配置管理高可用最佳实践
  • 原文地址:https://www.cnblogs.com/songchaolin/p/12028356.html
Copyright © 2011-2022 走看看