美文网首页
远程Debug Spark

远程Debug Spark

作者: zhouhaolong1 | 来源:发表于2017-09-23 13:59 被阅读115次

目录:

本文总结了怎么调试Spark的Master和Worker的源码,以及怎么调试自己的Spark程序

<h2 id="master">Debug Master</h2>

  1. 修改Master所在节点的$SPARK_HOME/conf/spark-env.sh文件,在文件中添加如下内容,意思是在运行Master的时候挂起.

     #remote debug args
    
     export SPARK_MASTER_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"
    
  2. 启动Master

- 执行 $SPARK_HOME/sbin/start-master.sh   

- jps 看到master被挂起

    ![image.png](https://img.haomeiwen.com/i1950473/98885fd7a35ace6d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  1. 在IntelJ中创建一个Remote Application, 点击 Run -> Edit Configurations... -> + -> Remote -> 输入Name,Host,Port
    如下图:

    image.png
  2. 在IntellJ中Master的main方法打上断点

    • 双shift输入Master,注意选择和集群上版本一致的Spark,否者会连不上,并且会提示

        *Remote Debug Connected to the target VM, address: '192.168.33.21:5005', transport: 'socket'*   
      
      image.png
    • 找到main方法,打上断点

      image.png
  1. 选择运行Master,点击小虫子进行debug.

    image.png

<h2 id="worker">Debug Worker</h2>

  1. 修改Worker所在节点的$SPARK_HOME/conf/spark-env.sh文件,在文件中添加如下内容,意思是在运行Worker的时候挂起.

     #remote debug args
    
     export SPARK_WORKER_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006"
    
  2. 启动Worker

    • 启动worker要加上Master的地址

        [hadoop@mini2 ~]$ $SPARK_HOME/sbin/start-slave.sh spark://mini1:7077
      
    • Worker会自动被挂起

  3. 在IntelJ中创建一个Remote Application,修改Name,Host,Port 如图:

    image.png
  4. 在IntellJ中Worker的main方法打上断点,注意选择和集群上版本一致的Spark

  5. 选择运行Worker,点击小虫子进行debug.

    image.png

<h2 id="yourSparkApp">Debug YourSparkApp</h2>

  1. 提交任务之后,会自动监听端口

     [hadoop@mini1 ~]$ spark-submit --class cn.zhou.bigdata.SparkWrit2DB --master spark://mini1:7077 --driver-java-options "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5007" SparkLearning-1.0-SNAPSHOT.jar 
    
    image.png
  2. 创建一个Remote Application, 输入Name,Host,Port, 注意host是启动任务的节点的ip,port是提交任务时指定的5007

    image.png
  1. 打好断点,点击小虫子Debug

    image.png

相关文章

  • 远程Debug Spark

    目录: 本文总结了怎么调试Spark的Master和Worker的源码,以及怎么调试自己的Spark程序 Debu...

  • 远程debug设置

    远程debug 项目启动设置 未添加远程debug端口的,如果需要开启远程debug的端口,操作如下:修改远程de...

  • spark远程debug之调试spark on yarn 程序

    简介由于spark有多种运行模式,远程调试的时候,虽然大体步骤相同,但是还是有小部分需要注意的地方,这里记录一下调...

  • 关于Intellij和eclipse 远程debug的使用姿势

    Intellij和eclipse的远程debug 均是基于JVM JPDA的调试 1. 远程debug使用方式: ...

  • Tomcat 开启远程Debug调试

    1. 使用外部Tomcat启动方式开启远程Debug调试功能 2. SpringBoot 项目开启远程Debug:...

  • 远程debug

    因为运维配了默认debug端口号40000,所以不需要我们额外设置 idea选择remote,然后配置远程debu...

  • 服务器远程远程Debug

    服务器远程远程Debug 1. 在服务器上将启动参数修改为 服务端远程Debug模式已经开启,端口号为8888. ...

  • Springboot相关命令

    远程DEBUG模式启动启动 正常启动

  • pycharm 远程服务器调试

    朋友说程序写大了远程debug非常麻烦,这里说一下pycharm连接服务器远程debug,也可以使用vscode不...

  • Tomcat远程Debug

    当应用部署到线上,出现问题除了查看日志,还可以通过远程debug的方式对应用进行调试除了Tomcat,其它web容...

网友评论

      本文标题:远程Debug Spark

      本文链接:https://www.haomeiwen.com/subject/yydcextx.html