<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,comments - 227,trackbacks - 0
    http://www.cnblogs.com/luogankun/p/3981645.html

    Spark history Server產生背景

    以standalone運行模式為例,在運行Spark Application的時候,Spark會提供一個WEBUI列出應用程序的運行時信息;但該WEBUI隨著Application的完成(成功/失 敗)而關閉,也就是說,Spark Application運行完(成功/失敗)后,將無法查看Application的歷史記錄;

    Spark history Server就是為了應對這種情況而產生的,通過配置可以在Application執行的過程中記錄下了日志事件信息,那么在Application執行 結束后,WEBUI就能重新渲染生成UI界面展現出該Application在執行過程中的運行時信息;

    Spark運行在yarn或者mesos之上,通過spark的history server仍然可以重構出一個已經完成的Application的運行時參數信息(假如Application運行的事件日志信息已經記錄下來);

     

    配置&使用Spark History Server

    以默認配置的方式啟動spark history server:

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

    報錯:

    starting org.apache.spark.deploy.history.HistoryServer, logging to /home/spark/software/source/compile/deploy_spark/sbin/../logs/spark-spark-org.apache.spark.deploy.history.HistoryServer-1-hadoop000.out failed to launch org.apache.spark.deploy.history.HistoryServer:         at org.apache.spark.deploy.history.FsHistoryProvider.<init>(FsHistoryProvider.scala:44)         ... 6 more

    需要在啟動時指定目錄:

    start-history-server.sh hdfs://hadoop000:8020/directory

    hdfs://hadoop000:8020/directory可以配置在配置文件中,那么在啟動history-server時就不需要指定,后續介紹怎么配置;

    注:該目錄需要事先在hdfs上創建好,否則history-server啟動報錯。

    啟動完成之后可以通過WEBUI訪問,默認端口是18080:http://hadoop000:18080

    默認界面列表信息是空的,下面截圖是我跑了幾次spark-sql測試后出現的。

     

    history server相關的配置參數描述

    1) spark.history.updateInterval
      默認值:10
      以秒為單位,更新日志相關信息的時間間隔

    2)spark.history.retainedApplications
      默認值:50
      在內存中保存Application歷史記錄的個數,如果超過這個值,舊的應用程序信息將被刪除,當再次訪問已被刪除的應用信息時需要重新構建頁面。

    3)spark.history.ui.port
      默認值:18080
      HistoryServer的web端口

    4)spark.history.kerberos.enabled
      默認值:false
      是否使用kerberos方式登錄訪問HistoryServer,對于持久層位于安全集群的HDFS上是有用的,如果設置為true,就要配置下面的兩個屬性

    5)spark.history.kerberos.principal
      默認值:用于HistoryServer的kerberos主體名稱

    6)spark.history.kerberos.keytab
      用于HistoryServer的kerberos keytab文件位置

    7)spark.history.ui.acls.enable
      默認值:false
      授權用戶查看應用程序信息的時候是否檢查acl。如果啟用,只有應用程序所有者和spark.ui.view.acls指定的用戶可以查看應用程序信息;否則,不做任何檢查

    8)spark.eventLog.enabled
      默認值:false
      是否記錄Spark事件,用于應用程序在完成后重構webUI

    9)spark.eventLog.dir
      默認值:file:///tmp/spark-events
      保存日志相關信息的路徑,可以是hdfs://開頭的HDFS路徑,也可以是file://開頭的本地路徑,都需要提前創建

    10)spark.eventLog.compress
      默認值:false
      是否壓縮記錄Spark事件,前提spark.eventLog.enabled為true,默認使用的是snappy

    以spark.history開頭的需要配置在spark-env.sh中的SPARK_HISTORY_OPTS,以spark.eventLog開頭的配置在spark-defaults.conf

     

    我在測試過程中的配置如下:

    spark-defaults.conf

    spark.eventLog.enabled  true spark.eventLog.dir      hdfs://hadoop000:8020/directory spark.eventLog.compress true

    spark-env.sh

    export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=7777 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=hdfs://had oop000:8020/directory"

    參數描述:

    spark.history.ui.port=7777  調整WEBUI訪問的端口號為7777

    spark.history.fs.logDirectory=hdfs://hadoop000:8020/directory  配置了該屬性后,在start-history-server.sh時就無需再顯示的指定路徑

    spark.history.retainedApplications=3   指定保存Application歷史記錄的個數,如果超過這個值,舊的應用程序信息將被刪除

     

    調整參數后啟動start-history-server.sh

    start-history-server.sh 

    訪問WEBUI: http://hadoop000:7777

     

    在使用spark history server的過程中產生的幾個疑問:

    疑問1:spark.history.fs.logDirectory和spark.eventLog.dir指定目錄有啥區別?

    經測試后發現:

    spark.eventLog.dir:Application在運行過程中所有的信息均記錄在該屬性指定的路徑下;

    spark.history.fs.logDirectory:Spark History Server頁面只展示該指定路徑下的信息;

    比如:spark.eventLog.dir剛開始時指定的是hdfs://hadoop000:8020/directory,而后修改成hdfs://hadoop000:8020/directory2

    那么spark.history.fs.logDirectory如果指定的是hdfs://hadoop000:8020/directory,就只能顯示出該目錄下的所有Application運行的日志信息;反之亦然。

     

    疑問2:spark.history.retainedApplications=3 貌似沒生效??????

    The History Server will list all applications. It will just retain a max number of them in memory. That option does not control how many applications are show, it controls how much memory the HS will need.

    注意:該參數并不是也頁面中顯示的application的記錄數,而是存放在內存中的個數,內存中的信息在訪問頁面時直接讀取渲染既可;

    比如說該參數配置了10個,那么內存中就最多只能存放10個applicaiton的日志信息,當第11個加入時,第一個就會被踢除,當再次訪問第1個application的頁面信息時就需要重新讀取指定路徑上的日志信息來渲染展示頁面。 

    詳見官方文檔:http://spark.apache.org/docs/latest/monitoring.html

    posted on 2016-05-26 14:12 SIMONE 閱讀(791) 評論(0)  編輯  收藏 所屬分類: spark

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲Av熟妇高潮30p| 国产成人精品曰本亚洲79ren| 亚洲黄色一级毛片| 国产精品区免费视频| 亚洲AV无码不卡在线播放| 久久精品一区二区免费看| 亚洲精品午夜视频| 1000部国产成人免费视频| 亚洲午夜久久久久久尤物| 99久久免费国产精品特黄| 激情综合亚洲色婷婷五月| 夜夜爽免费888视频| 看Aⅴ免费毛片手机播放| 美腿丝袜亚洲综合| 日韩免费电影网址| 亚洲乱码中文论理电影| 亚洲国产另类久久久精品黑人| 国产精品亚洲精品观看不卡| 91黑丝国产线观看免费| 亚洲熟妇AV日韩熟妇在线| 日本免费中文字幕在线看| 永久免费观看黄网站| 国产精品亚洲а∨无码播放| **实干一级毛片aa免费| 亚洲欧洲无码AV不卡在线| 亚洲成年看片在线观看| 日本视频在线观看永久免费| 亚洲13又紧又嫩又水多| 亚洲AV成人精品日韩一区18p| 成人一区二区免费视频| 亚洲精品视频在线免费| 国产禁女女网站免费看| a级午夜毛片免费一区二区| 亚洲乱码一区av春药高潮| 亚洲国产精品成人AV无码久久综合影院 | 你好老叔电影观看免费| 亚洲国产精品xo在线观看| 亚洲成A人片在线观看中文| 最近免费中文字幕大全免费版视频 | 亚洲电影免费观看| 日韩成人免费视频播放|