我們在運作spark作業的時候,一定會通過某些途徑監控作業的運作情況,我們常用的就是通過WebUI界面進行監控。
預設情況下,每個SparkContext都會在4040端口上啟動Web UI,用來展示與應用相關的資訊。包括:
- 經曆了哪些stage,運作了哪些task
- RDD所占空間以及memory使用情況的摘要
- 環境相關資訊
- 正在運作的excutor的相關資訊
你要在Web浏覽器中打開http://<driver-node>:4040即可通路此界面。如果多個SparkContexts在同一主機上運作,端口會依次遞增(不必記憶,在送出job時,控制台會提示你哪個是該應用的Web UI的URL)。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SNkRzNzkjY1MTNlRDNxITN0ETO1ATOmZGZzQTN0QGNm9CX0EzLcVDM5EDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLxM3Lc9CX6MHc0RHaiojIsJye.png)
注意!這個端口隻在應用的生命周期可以通路!也就是說,如果這個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