IDEA远程调试Spark

IDEA远程调试Spark很简单,大概分四步:

1、打包到master

将Spark项目打包后拷贝到master节点上,这里用spark-examples.jar做下示例。

2、IDEA设置Remote连接

添加Remote:Menu -> Run -> Edit Configurations -> 选择 + -> Remote。

修改服务器IP,端口只要没有占用的就可以。

 

3、服务器启动Spark-Submit

spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://hadoop-master:7077 \
--driver-java-options \
"-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005" \
/liujinhe/jars/spark-examples.jar

或者,在conf/spark-env.sh添加环境变量:

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

4、IDEA中打断点,开启Debug

IDEA中,在要调试的类中打上断点,运行Debug模式。

 

其他

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

jvm参数属性说明:

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

问题 

19/07/23 09:03:59 INFO client.StandaloneAppClient$ClientEndpoint: Connecting to master spark://hadoop-master:7077...
19/07/23 09:03:59 WARN client.StandaloneAppClient$ClientEndpoint: Failed to connect to master hadoop-master:7077
org.apache.spark.SparkException: Exception thrown in awaitResult: 

....

Caused by: java.net.ConnectException: 拒绝连接

出现无法连接,先检查Spark是否启动。 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

訾零

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值