spark远程调试

基本流程
1.远程运行spark,打开Spark master机器的JVM的jdwp,让其阻塞监听指定端口(8888),让其有终端向指定端口发送特定请求再执行;
2.IntelliJ配置socket远程连接spark机器的(扮演终端角色);

然后可成联调大业。

实操
1. 在远程机器上面提交spark任务,指定jdwp,等待指定端口链接
spark2-submit --master yarn --name bulkLoad --jars /var/lib/hbase/bigdata-stat-3.2.2-diy-blukload-jar-with-dependencies.jar --driver-java-options "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8888" --class com.cmiot.WriteToHBaseForBL /var/lib/hbase/bigdata-stat-3.2.2-diy-blukload.jar -f smsFlow -d 20140123
 
2. IntelliJ的run->Edit Configuration... 点击“+”,选择Remote;需要改两个地方:Host和Port其他都是自动智能感应,上面一部分是可粘贴部分(粘贴到提交指令中),中部settings就是需要设置的地方Host以及Port;
 
3. 点击debug的图标,设置断点,就会发现走人了。

原文地址:https://www.cnblogs.com/xiashiwendao/p/8214888.html