Spark 本地提交、WebUI全攻略

本地提交:

Local提交方式主要用於快速入門,開發階段測試。用該模式提交,開箱即用,不用啓動Spark的Master、Worker守護進程( 只有集羣的Standalone方式時,才需要這兩個角色),也不用啓動Hadoop的各服務(除非你要用到HDFS)

提交命令:

提交java

spark-submit --class com.WordCount --master local /usr/local/spark/bin/spark-test-1.0-SNAPSHOT.jar

提交python

spark-submit --master local /usr/local/spark-2.3.1-bin-hadoop2.7/examples/src/main/python/wordcount.py /usr/local/spark-2.3.1-bin-hadoop2.7/bin/word.txt
spark-submit --master -local

這個SparkSubmit進程又當爹、又當媽,既是客戶提交任務的Client進程、又是Spark的driver程序、還充當着Spark執行Task的Executor角色。

  • 該模式被稱爲Local[N]模式,是用單機的多個線程來模擬Spark分佈式計算,直接運行在本地,便於調試,通常用來驗證開發出來的應用程序邏輯上有沒有問題。
  • 其中N代表可以使用N個線程,每個線程擁有一個core。如果不指定N,則默認是1個線程(該線程有1個core)。
  • 如果是local[*],則代表 Run Spark locally with as many worker threads as
    logical cores on your machine.

Web-UI界面

想通過WebUI控制檯頁面來查看具體的job運行細節,正在運行時的任務可以通過訪問http:ip/4040(一旦任務結束,該端口將會自動關閉),有時需要查看歷史的job,這時需要用到spark-history-server.sh服務,操作如下:

1、修改spark-env.sh

進入spark安裝目錄下,找到spark-env.sh文件,在末尾添加

export **SPARK_HISTORY_OPTS**="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=/usr/local/spark/spark-events"
  • Dspark.history.ui.port:
    默認值:18080 //HistoryServer的web端口

  • Dspark.history.retainedApplications
    設置緩存Cache中保存的應用程序歷史記錄的個數,默認50,如果超過這個值,舊的將被刪除。

  • Dspark.history.fs.logDirectory
    存放歷史記錄文件的目錄

2、修改spark-defauls.conf

默認不存在該文件,從spark-defauls.conf.teamplate拷貝一個,修改如下:

spark.eventLog.enabled           true
spark.eventLog.dir              /usr/local/spark/spark-events
  • spark.eventLog.enabled
    是否記錄Spark事件,用於應用程序在完成後的籌夠WebUI。

  • spark.eventLog.dir
    設置spark.eventLog.enabled爲true後,該屬性爲記錄spark時間的根目錄。在此根目錄中,Spark爲每個應用程序創建分目錄,並將應用程序的時間記錄到此目錄中。用戶可以將此屬性設置爲HDFS目錄,以便History Server讀取。

每個任務的歷史信息被保存在了該目錄下:
在這裏插入圖片描述

3、啓動spark-history-server.sh

在sbin目錄下,啓動spark-history-server.sh,然後訪問http:ip:18080/,效果如下:
在這裏插入圖片描述
參考:
Spark配置History服務
Spark運行模式_local(本地模式)
Spark入門 - History Server配置使用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章