当前位置: 首页 > 编程笔记 >

idea远程调试spark的步骤讲解

怀飞扬
2023-03-14
本文向大家介绍idea远程调试spark的步骤讲解,包括了idea远程调试spark的步骤讲解的使用技巧和注意事项,需要的朋友参考一下

spark 远端调试

本地调试远端集群运行的spark项目,当spark项目在集群上报错,但是本地又查不出问题时,最好的方式就是调试一步一步跟踪代码。但是在集群上的代码又不能像本地一样的调试。那么就试试这个调试方法吧。

远程调试spark其实就四步:

  • * 第一步jar包拷贝到集群master节点。
  • * 第二步在 idea 中配置远程机器的IP 和调试端口号。
  • * 第三步:启动远端的spark项目。
  • * 第四步 启动idea 进行调试。

首先

首先了解jvm一些参数属性

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8888

这里对上面的几个参数进行说明:

  • -Xdebug 启用调试特性
  • -Xrunjdwp 启用JDWP实现,包含若干子选项:
  • transport=dt_socket JPDA front-end和back-end之间的传输方法。dt_socket表示使用套接字传输。
  • address=8888 JVM在8888端口上监听请求,这个设定为一个不冲突的端口即可。
  • server=y y表示启动的JVM是被调试者。如果为n,则表示启动的JVM是调试器。
  • suspend=y y表示启动的JVM会暂停等待,直到调试器连接上才继续执行。suspend=n,则JVM不会暂停等待。

第一步 将jar包拷贝到集群

将spark 项目打jar包, 将jar包放到集群master节点上;

第二步 配置idea

编辑idea配置:

点击小三角,选择:edit Configurations 如图

添加一个remote 配置

配置远端地址和端口 (此处配置的是 远端master 节点的地址)

第三步 远端启动spark项目

在集群启动要调试的spark项目。命令如下:

/tmp/mySpark.jar 为你sprak 项目在集群master上的位置

spark-submit --class WordCount --master spark://192.168.100.xx:7077 --driver-java-options "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8888" /tmp/mySpark.jar

也可在conf/spark-env.sh这个文件最后加入(不过没有进行实际测试)

export SPARK_JAVA_OPTS+="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8888"

如图进入监听:

第四步 启动idea

启动idea 的debug 模式就会进入断点。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对小牛知识库的支持。如果你想了解更多相关内容请查看下面相关链接

 类似资料:
  • 本文向大家介绍Pycharm配置远程调试的方法步骤,包括了Pycharm配置远程调试的方法步骤的使用技巧和注意事项,需要的朋友参考一下 动机 一些bug由于本地环境和线上环境的不一致可能导致本地无法复现 本地依赖和线上依赖版本不一致也可以导致一些问题 有时一些bug跟数据相关,本地数据无法和线上数据一致 有些三方平台会验证服务器的合法性或者异步回调结果,如微信支付,这时候本地无法测试 如上所诉,要

  • 我有一个类似于用XDebug设置IntelliJ Idea远程调试的问题,但是由于没有发布解决方案,我无论如何都要问它。 你知道可能出了什么问题吗?有防火墙设置的东西允许端口9000上的传入连接?

  • 本文向大家介绍eclipse/intellij idea 远程调试hadoop 2.6.0,包括了eclipse/intellij idea 远程调试hadoop 2.6.0的使用技巧和注意事项,需要的朋友参考一下 很多hadoop初学者估计都我一样,由于没有足够的机器资源,只能在虚拟机里弄一个linux安装hadoop的伪分布,然后在host机上win7里使用eclipse或Intellj id

  • 准备工作 明确远程服务器的 IP 地址,比如我是:192.168.92.128 关掉服务器防火墙:service iptables stop 本地 Remote Server 配置 添加 Remote Server,如下图 复制 Remote Server 自动生成的 JVM 参数,等下有用,如下图,比如我的是:-agentlib:jdwp=transport=dt_socket,server=y

  • 我试图用IntelliJ远程调试liquibase项目的maven插件。问题是IDEA突出显示了错误的源代码行,我不知道为什么。我试图调试的源代码没有被触及。我从我在IntelliJ中使用的源代码中手动构建并安装了本地maven存储库中的插件。我的Intellij版本是,maven版本是,运行在Ubuntu12.04上。 为了调试maven插件,我使用了comand。如果有人对什么是错误有一丁点的

  • 本文向大家介绍IDEA调试技巧条件断点实现步骤详解,包括了IDEA调试技巧条件断点实现步骤详解的使用技巧和注意事项,需要的朋友参考一下 调试的时候,在循环里增加条件判断,可以极大的提高效率,心情也能愉悦。以下介绍下IDEA使用条件【Condition】断点的方法 1、编写一段样例代码 2、在 System.out.println(i);这句话的左侧单击一下,出现一个红色的点,即为断点 3、右击断点