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后效果

 

 

 

 

 

posted on 2020-03-26 21:13  gentleman_hai  阅读(2336)  评论(0编辑  收藏  举报

导航