天天看点

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界面

继续阅读