spark history與yarn ui互通


1、背景:

在已經配置了spark history的基礎上,我們已經成功運行了spark了,通過yarn web ui界面任務的Tracking URL:History鏈接去查看任務歷史運行情況,發現點擊后還是在當前頁

例如:

 

 

原因是:

我們在運行spark任務后,默認是由AM進行歷史任務匯聚,拼接的URL是job history的鏈接,但是spark里面是drive負責匯聚,需要通過spark history進行收集后才能查看。

 

2、配置spark的conf/spark-defaults.conf配置

spark.yarn.historyServer.address=rsync.rm01.bizcross.zw.ted:18080 spark.eventLog.dir hdfs://bizclustertest/spark/logs spark.eventLog.enabled true spark.eventLog.compress true spark.history.ui.port 18080 spark.history.kerberos.enabled true spark.history.kerberos.principal biztech/rsync.rm01.bizcross.zw.ted@BIZTECHTEST.COM spark.history.kerberos.keytab /data/local/hadoop/etc/hadoop/hdfs.keytab spark.history.fs.update.interval 5 spark.history.fs.logDirectory hdfs://bizclustertest/spark/logs

 

1)如果你是在yarn之上的話,就要告訴yarn,你spark的地址,當我在yarn上點擊一個任務,進去看history的時候,它會鏈接到18080里面,如果你配置的是rsync.rm01.bizcross.zw.ted:18080,那么你就會在rsync.rm01.bizcross.zw.ted:18080上啟動spark的history server

 

2)18080是spark的history server,會顯示出你最近spark跑過的一些程序點擊execution后,點擊最右邊的日志(如果有的話),會重定向到19888,這個是mr的jobhistory的地址

spark.yarn.historyServer.address和spark.history.ui.port如果缺少其中一個,日志就會找不到

 

3、spark日志收集邏輯

 

實際上,在spark程序運行的時候,會起一個drive程序和多個execute程序,他們都會跑在nodemanager之上,在啟動程序的時候,如果我們在默認的配置里面,配置了參數spark.eventLog.enabled=true,spark.eventLog.dir=地址,那么drive上就會把所有的事件全部給記錄下來,事件包括,execute的啟動,execute執行的task等發送給drive

 

每當寫日志的時候,都有一個日志組件將日志寫進那個目錄里面,這個目錄下每個應用程序都會存儲一個文件,然后將會有spark的history server(也就是配置spark-default.conf里面),這個server會在18080啟動一個進程,去掃描日志目錄,並解析每一個文件,並且還原,就得到了整個應用的狀態

 

在mapred-site.xml文件配置:

<property> 
<name>mapreduce.jobhistory.done-dir</name> <value>/user/history/done</value> 
</property>

 <property> 
<name>mapreduce.jobhistory.intermediate-done-dir</name> <value>/user/history/done_intermediate</value> 
</property>

  

 

為了能夠看到這些日志,我們需要做的事情是,讓nodemanager開啟日志匯聚功能,這個功能的作用是,當應用程序終止的時候,需要將這個應用程序的所有日志全部匯聚到遠程hdfs上的一個目錄,匯聚之后,還需要通過一個http的接口去查看這些日志,查看日志的角色就叫做history server,通過它的web ui接口,但我們點擊std日志的時候,就會調整到mr job history這個地址19888上,然后去吧這個日志展示出來。

 

4、配置spark.yarn.historyServer.address后效果

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM