您好,登錄后才能下訂單哦!
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 模式就會進入斷點。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。