天天看點

Spark系列文章-Spark作業監控開啟檢視結束job模式

我們在運作spark作業的時候,一定會通過某些途徑監控作業的運作情況,我們常用的就是通過WebUI界面進行監控。

預設情況下,每個SparkContext都會在4040端口上啟動Web UI,用來展示與應用相關的資訊。包括:

  • 經曆了哪些stage,運作了哪些task
  • RDD所占空間以及memory使用情況的摘要
  • 環境相關資訊
  • 正在運作的excutor的相關資訊

你要在Web浏覽器中打開http://<driver-node>:4040即可通路此界面。如果多個SparkContexts在同一主機上運作,端口會依次遞增(不必記憶,在送出job時,控制台會提示你哪個是該應用的Web UI的URL)。

Spark系列文章-Spark作業監控開啟檢視結束job模式

注意!這個端口隻在應用的生命周期可以通路!也就是說,如果這個job是在半夜跑的,你要是指着這東西的話,你得申請夜班~哈哈

Spark也給我們提供了檢視曆史job的UI界面,在送出job前将spark.eventLog.enabled設定為true即可(spark-defaults.conf中将注釋打開就好)

開啟檢視結束job模式

一、建立日志存放目錄

hdfs dfs -mkdir /g6_hadoop           

二、修改spark-defaults.conf

開啟存放job日志模式并指定持久化日志目錄

首先檢視你hadoop的core-site.xml 找到你的命名空間 (如果你不是HA,那麼就改成自己的namenode節點URL)

<property>
                <name>fs.defaultFS</name>
                <value>hdfs://ruozeclusterg6</value>
        </property>           
vim $SPARK_HOME/conf/spark-defaults.conf           
######
# Example:
# spark.master                     spark://master:7077
spark.eventLog.enabled           true    #設定為true
spark.eventLog.dir              hdfs://ruozeclusterg6:8020/g6_direcory   #修改成剛剛建立的檔案夾路徑  注意改成你的命名空間
# spark.serializer                 org.apache.spark.serializer.KryoSerializer
# spark.driver.memory              5g
# spark.executor.extraJavaOptions  -XX:+PrintGCDetails -Dkey=value -Dnumbers="one two three"           

三、修改spark-env.sh

vim $SPARK_HOME/conf/spark-env.sh           
SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://ruozeclusterg6:8020/g6_direcory"##注意改成你的hostname           

四、開啟服務

cd $SPARK_HOME
./sbin/start-history-server.sh           

五、驗證是否開啟UI界面

繼續閱讀