天天看點

IDEA遠端調試Spark

IDEA遠端調試Spark很簡單,大概分四步:

1、打包到master

将Spark項目打包後拷貝到master節點上,這裡用spark-examples.jar做下示例。

2、IDEA設定Remote連接配接

添加Remote:Menu -> Run -> Edit Configurations -> 選擇 + -> Remote。

修改伺服器IP,端口隻要沒有占用的就可以。

IDEA遠端調試Spark

3、伺服器啟動Spark-Submit

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

IDEA遠端調試Spark

4、IDEA中打斷點,開啟Debug

IDEA中,在要調試的類中打上斷點,運作Debug模式。

IDEA遠端調試Spark

其他

-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是否啟動。 

繼續閱讀