运行中的spark应用,可以使用对应的4040端口,网页查看相应的工作状态信息,RDD的血缘之类的

    而对于配置好的spark history server来说,可以查看已经结束的spark任务的界面
    spark-hist.png
    在页面上,还可以看到本地(driver)运行时的信息,比如java的路径、版本,主机名、端口号等。

    在客户端,或者说,在运行spark程序的时候,只需要配置启用log并放在spark-history对应的目录,就可以了,如下:

    1. spark.eventLog.enabled=true
    2. spark.eventLog.dir=hdfs://centos72/user/spark/spark2ApplicationHistory
    3. spark.yarn.historyServer.address=http://centos72:18089

    服务端配置,在spark-defaults.conf中

    1. spark.history.ui.port=18089
    2. spark.history.fs.logDirectory=hdfs://centos72/user/spark/spark2ApplicationHistory
    3. spark.ui.filters=org.apache.spark.deploy.yarn.YarnProxyRedirectFilter

    以上两个,默认是18080和本地的/tmp/spark-events
    为了YARN能用,程序要能写入,就要配置成hdfs的路径

    启动spark history server:
    $SPARK_HOME/sbin/start-history-server.sh

    运行中的任务也可以在这个spark history server中显示,在界面中点击incomplete applications
    配置参考官网说明

    还希望从YARN点AM链接到这个页面
    按默认它会打开localhost:4040,网络原因经常显示不出来
    在应用里修改
    spark.ui.enabled=false,就不再使用默认的ApplicationMaster的4040页面,但会显示YARN默认的AM页面
    如果要链接到spark history server进行tracking显示,要配置:
    spark.yarn.historyServer.allowTracking=true

    小结如下

    1. .config('spark.eventLog.dir','hdfs://centos72/user/spark/spark2ApplicationHistory')\
    2. .config('spark.yarn.historyServer.address','http://centos72:18089')\
    3. .config('spark.eventLog.enabled','true')\
    4. .config('spark.yarn.historyServer.allowTracking','true')\
    5. .config('spark.ui.enabled','false')\