spark on yarn日志配置及webUI界面日志查看

spark | 2020-07-20 11:24:22

spark 在standalone模式查看日志很方便,直接在8080端口的webui查看很方便,

spark on yarn 只能在8088端口查看,而且只能在 application列表点击 Tracking UI applicationMaster查看当前运行的application日志

那要看历史日志需要作以下配置:


1.yarn-site.xml

        <!-- 是否开启聚合日志 -->
     <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
     </property>
       <!-- 配置日志服务器的地址,work节点使用 -->
     <property>
         <name>yarn.log.server.url</name>
         <value>http://master:19888/jobhistory/logs/</value>
      </property>
      <!-- 配置日志过期时间,单位秒 -->
      <property>
          <name>yarn.log-aggregation.retain-seconds</name>
          <value>86400</value>
      </property>


2.mapred-site.xml

<property>
         <name>mapreduce.jobhistory.address</name>
         <value>spark-master:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>spark-master:19888</value>
    </property>


3.spark-defaults.conf

spark.eventLog.enabled=true
spark.eventLog.compress=true
#保存在本地
#spark.eventLog.dir=file://usr/local/hadoop-2.7.6/logs/userlogs
#spark.history.fs.logDirectory=file://usr/local/hadoop-2.7.6/logs/userlogs
#保存在hdfs上
spark.eventLog.dir=hdfs://spark-master:9000/tmp/logs/root/logs
spark.history.fs.logDirectory=hdfs://master:9000/tmp/logs/root/logs
spark.yarn.historyServer.address=http://master:18080


4.首先启动 hadoop的jobhistory

[root@spark-master hadoop-2.7.6]# sbin/mr-jobhistory-daemon.sh start historyserver
starting historyserver, logging to /usr/local/hadoop-2.7.6/logs/mapred-root-historyserver-spark-master.out

有网上说 不需要启动这个,启动还是有作用的,8088点logs就能方便查看日志


5.启动spark的history-server

[root@spark-master spark-2.3.0]# sbin/start-history-server.sh 
starting org.apache.spark.deploy.history.HistoryServer, logging to /usr/local/spark-2.3.0/logs/spark-root-org.apache.spark.deploy.history.HistoryServer-1-spark-master.out


如果配置正确,启动完成之后,就可以访问18080 和19888


6.日志查看方式


6.1然后在8088端口点击应用或者应用列表中的history也可以进到18080端口界面查看历史的运行情况

1.png



6.2 点击history跳转到18080端口界面

2.png



6.3继续点击stdout会调转到19888端口界面显示详细日志

3.png


登录后即可回复 登录 | 注册
    
  • houyong
    houyong

    补充必须的配置

    spark.history.retainedApplications  30  //默认50 缓存的app信息个数,不要太大。否则很占内存
    spark.history.fs.cleaner.enabled  true //默认false 一定要设置true,否则磁盘会被日志占满

关注编程学问公众号