Windows-IDEA調試Spark的 Master、Worker、Executor、Application、Shell

      網友投稿 996 2025-04-01

      在Windows-idea調試Spark的 Master、Worker、Executor、Application、Shell、SQL進程


      軟件

      說明

      JDK8

      Scala運行依賴jvm

      Scala-2.11

      Scala版本號選擇2.11

      Spark-2.3

      Spark版本號選擇2.3

      Apache Maven 3.3.9

      版本可選

      IntelliJ idea社區版

      官網可免費下載社區版

      cygwin

      編譯過程 ant 和sh腳本需要linux環境

      該文檔依賴文檔【在Windows-IntelliJ IDEA啟動Spark Cluster、spark App、Spark shell和Spark sql.docx】,后續內容簡稱前文檔。

      1???? Debug Master進程

      閱讀前文檔,IDEA中配置好Master進程,點擊Debug按鈕,如下

      2???? Debug Worker進程

      閱讀前文檔,IDEA中配置好Worker進程,點擊Debug按鈕,如下

      備注:debug模式下,worker進程最好只保持一個。

      3???? Remote Debug Launcher進程

      3.1? 閱讀spark-class2腳本,進程拉起的順序是org.apache.spark.launcher.Main-> org.apache.spark.deploy.SparkSubmit->

      org.apache.spark.examples.JavaWordCount

      腳本的調用順序是run-example -> spark-submit -> spark-class2

      3.2??? 配置org.apache.spark.launcher.Main以debug方式拉起,編輯spark-class2.cmd,新增jvm啟動參數

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

      備注:注意suspend=y或者n的區別

      如下圖

      3.3??? IDEA Terminal提交app,命令是

      run-example --master spark://localhost:7077 JavaWordCount "C:\Users\w00403095\Desktop\weizheng.txt"

      如下圖

      3.4??? 新增Remote debug,如下圖

      備注:port需要和步驟3.2中的port保持一致

      3.5??? 保存點擊debug按鈕,觸發了org.apache.spark.launcher.Main中的斷點,如下圖

      4???? Remote Debug SparkSubmit/App進程

      4.1??? JavaWordCount(spark app)是通過spark-submit腳本拉起,所以IDEA中只能以remote方式debug

      4.2????? IDEA Terminal新增環境變量set SPARK_SUBMIT_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=2001,server=y,suspend=y

      備注:注意suspend=y或者n的區別

      如下圖

      4.3??? 使用3.3步驟中的命令在上述Terminal中提交spark app,如下圖org.apache.spark.deploy.SparkSubmit主函數入口等待debug監聽

      4.4??? 新增Remote debug,端口和4.2步驟中的環境變量SPARK_SUBMIT_OPTS保持一致, 如下圖

      4.5??? 保存點擊debug按鈕,觸發了org.apache.spark.deploy.SparkSubmit中的斷點,如下圖

      4.6??? 進一步深入debug,就觸發了org.apache.spark.examples.JavaWordCount的main函數入口,如下圖

      SparkSubmit.scala主類 -> JavaWordCount.java主類的調用堆棧如下圖

      5???? Remote Debug Executor進程

      5.1??? Spark App提交后,Worker節點拉起Executor進程來做計算,IDEA只能以remote方式調試Executor進程。

      5.2??? 配置Executor進程以debug模式啟動,$SPARK_PROJECT/conf/目錄下新增spark-defaults.conf文件,新增啟動參數spark.executor.extraJavaOptions,如下圖:

      或者修改JavaWordCount.java新增java進程啟動參數,如下

      備注:注意suspend=y或者n的區別

      5.3??? 使用步驟3.3中的命令提交spark app,觀察worker console的日志輸出,發現worker節點debug模式啟動Executor進程,監聽端口8005,如下圖

      在Windows-IDEA調試Spark的 Master、Worker、Executor、Application、Shell

      5.4??? 新增Remote debug,端口和5.2步驟中的環境變量SPARK_SUBMIT_OPTS保持一致, 如下圖

      5.5??? 保存點擊debug按鈕,觸發了org.apache.spark.executor.CoarseGrainedExecutorBackend中的斷點,如下圖

      6???? Debug Spark shell

      待補充

      7???? Debug Spark sql

      待補充

      表格存儲服務 CloudTable Spark開發環境搭建

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:[工程] tmux的一些操作技巧
      下一篇:如截圖:左下角快速訪問工具欄(其中有撤銷鍵、保存鍵等)不見了怎么辦?
      相關文章
      色偷偷亚洲女人天堂观看欧| 亚洲女同成av人片在线观看| 亚洲成a人片在线观看天堂无码 | 久久亚洲sm情趣捆绑调教| 亚洲精品中文字幕乱码三区| 狠狠综合久久综合88亚洲| 国产专区一va亚洲v天堂| 亚洲无码高清在线观看| 婷婷综合缴情亚洲狠狠尤物| 国产精品亚洲а∨无码播放麻豆| heyzo亚洲精品日韩| 亚洲国产精品激情在线观看| 亚洲精品NV久久久久久久久久| 校园亚洲春色另类小说合集| 精品久久久久久久久亚洲偷窥女厕| 亚洲AV无码成人精品区日韩| 精品久久久久久亚洲综合网| 国产91成人精品亚洲精品| 久久亚洲AV成人无码国产电影| 亚洲av成人中文无码专区| 四虎精品亚洲一区二区三区| 亚洲精品国产自在久久| 在线精品亚洲一区二区三区| 亚洲永久无码3D动漫一区| 亚洲精品无码MV在线观看| 亚洲国产成人一区二区三区| 亚洲爱情岛论坛永久| 亚洲白嫩在线观看| 亚洲永久在线观看| 亚洲国产成人精品无码区二本 | 国产成人A人亚洲精品无码| 亚洲av中文无码乱人伦在线播放 | 在线亚洲午夜片AV大片| 亚洲a级成人片在线观看| 亚洲人成伊人成综合网久久| 亚洲字幕AV一区二区三区四区| 亚洲AV成人无码天堂| 亚洲精品精华液一区二区| 亚洲AV网站在线观看| 亚洲线精品一区二区三区影音先锋| 久久亚洲精品国产精品黑人|