Spark代码远程调试

本文介绍了如何在IDEA中远程调试在Spark集群上运行的代码。通过设置JVM参数,如`-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005`,在程序提交后监听指定端口,然后在IDEA中配置Remote调试,匹配端口并设置断点,实现远程调试。此外,可在`spark-env.sh`配置文件中添加参数以避免每次提交时手动设置。" 79119213,7388141,高精度计算2的阶乘,"['算法', '数学运算', '高精度', '编程实践']

在本地的IDEA调试 在集群中运行的Spark代码

场景:写好的代码在本地可以跑通,但是到了集群中就有可能报错,只有通过远程的调试,才能了解为什么报错,进而修复存在的问题

参考https://blog.youkuaiyun.com/l1212xiao/article/details/80854767

准备

远程调试时用到了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不会暂停等待。

步骤

准备测试spark程序 -> 提交到集群中 -> IDEA启动调试

准备测试spark程序
object SparkDemo {

  def main(args: Array[String]): Unit = {

    val conf = new SparkConf()
    conf.setAppName("WordCount")
    val sc = new SparkCo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值