idea遠(yuǎn)程調(diào)試spark的步驟講解
spark 遠(yuǎn)端調(diào)試
本地調(diào)試遠(yuǎn)端集群運行的spark項目,當(dāng)spark項目在集群上報錯,但是本地又查不出問題時,最好的方式就是調(diào)試一步一步跟蹤代碼。但是在集群上的代碼又不能像本地一樣的調(diào)試。那么就試試這個調(diào)試方法吧。
遠(yuǎn)程調(diào)試spark其實就四步:
- * 第一步j(luò)ar包拷貝到集群master節(jié)點。
- * 第二步在 idea 中配置遠(yuǎn)程機器的IP 和調(diào)試端口號。
- * 第三步:啟動遠(yuǎn)端的spark項目。
- * 第四步 啟動idea 進(jìn)行調(diào)試。
首先
首先了解jvm一些參數(shù)屬性
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8888
這里對上面的幾個參數(shù)進(jìn)行說明:
- -Xdebug 啟用調(diào)試特性
- -Xrunjdwp 啟用JDWP實現(xiàn),包含若干子選項:
- transport=dt_socket JPDA front-end和back-end之間的傳輸方法。dt_socket表示使用套接字傳輸。
- address=8888 JVM在8888端口上監(jiān)聽請求,這個設(shè)定為一個不沖突的端口即可。
- server=y y表示啟動的JVM是被調(diào)試者。如果為n,則表示啟動的JVM是調(diào)試器。
- suspend=y y表示啟動的JVM會暫停等待,直到調(diào)試器連接上才繼續(xù)執(zhí)行。suspend=n,則JVM不會暫停等待。
第一步 將jar包拷貝到集群
將spark 項目打jar包, 將jar包放到集群master節(jié)點上;
第二步 配置idea
編輯idea配置:
點擊小三角,選擇:edit Configurations 如圖

添加一個remote 配置

配置遠(yuǎn)端地址和端口 (此處配置的是 遠(yuǎn)端master 節(jié)點的地址)

第三步 遠(yuǎn)端啟動spark項目
在集群啟動要調(diào)試的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這個文件最后加入(不過沒有進(jìn)行實際測試)
export SPARK_JAVA_OPTS+="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8888"
如圖進(jìn)入監(jiān)聽:

第四步 啟動idea
啟動idea 的debug 模式就會進(jìn)入斷點。

總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
如何使用Idea中的 Deployment 實現(xiàn)打包自動部署
這篇文章主要介紹了使用Idea中的 Deployment 實現(xiàn)打包自動部署,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-08-08
靈活控制任務(wù)執(zhí)行時間的Cron表達(dá)式范例
這篇文章主要為大家介紹了靈活控制任務(wù)執(zhí)行時間的Cron表達(dá)式范例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
MybatisPlus 不修改全局策略和字段注解如何將字段更新為null
這篇文章主要介紹了MybatisPlus 不修改全局策略和字段注解如何將字段更新為null,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04
IDEA Spring Boot 自動化構(gòu)建+部署的實現(xiàn)
這篇文章主要介紹了IDEA Spring Boot 自動化構(gòu)建+部署的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
Java中OkHttp 超時設(shè)置的實現(xiàn)
超時設(shè)置是網(wǎng)絡(luò)編程中不可忽視的一部分,本文就來介紹一下Java中OkHttp 超時設(shè)置的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2024-06-06
java定時任務(wù)cron表達(dá)式每周執(zhí)行一次的坑及解決
這篇文章主要介紹了java定時任務(wù)cron表達(dá)式每周執(zhí)行一次的坑及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06
Spring Cloud 的 Hystrix.功能及實踐詳解
這篇文章主要介紹了Spring Cloud 的 Hystrix.功能及實踐詳解,Hystrix 具備服務(wù)降級、服務(wù)熔斷、線程和信號隔離、請求緩存、請求合并以及服務(wù)監(jiān)控等強大功能,需要的朋友可以參考下2019-07-07
java數(shù)據(jù)結(jié)構(gòu)和算法之馬踏棋盤算法
這篇文章主要為大家詳細(xì)介紹了java數(shù)據(jù)結(jié)構(gòu)和算法之馬踏棋盤算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02

