如何理解Yarn的日志聚合

本篇文章给大家分享的是有关如何理解Yarn的日志聚合,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

在息烽等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、网站建设 网站设计制作按需求定制开发,公司网站建设,企业网站建设,品牌网站建设,成都全网营销推广,外贸网站建设,息烽网站建设费用合理。

1、Yarn日志聚合

Yarn中的任务执行完成后,再想查看历史日志一般都查不到了,因为这时候运行任务的Container已经释放了,这种情况我们可以开启Yarn的日志聚合功能。

首先配置yarn-site.xml

<!-- Site specific YARN configuration properties -->
<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
</property>
<!-- 配置YARN日志聚集功能 -->
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property>
<!-- 配置YARN日志聚集目录,默认/tmp/logs -->
<property>
    <name>yarn.nodemanager.remote-app-log-dirs</name>
    <value>/tmp/logs</value>
</property>
<property>
        <name>yarn.log.server.url</name>
        <value>http://localhost:19888/jobhistory/job/</value>
 </property>

然后启动history-server,RM,NM

start-yarn.cmd,sbin\mr-jobhistory-daemon.sh start historyserver

提交mapreduce作业到Yarn等执行完成后看看历史日志服务器能否看到。

提示:最好在linux上安装,我在windows下启动historyServer失败了。

【yarn日志参数】

yarn.log-aggregation-enable      true        执行结束后收集各个container本地的日志

yarn.log-aggregation.retain-seconds  2592000    收集的日志的保留时间,以秒为单位,到时后被删除,保留30天后删除

yarn.log.server.url   http://hostname:19888/jobhistory/logs   log server的地址yarn.nodemanager.local-dirs   /hadoop/yarn/local  存放application执行本地文件的根目录,执行完毕后删除,按用户名存储

yarn.nodemanager.log-dirs  /hadoop/yarn/log 存放application本地执行日志的根目录,执行完毕后删除,按用户名存储

yarn.nodemanager.log.retain-second 604800  日志的保留时间,log aggregation没有enable时,有效

yarn.nodemanager.remote-app-log-dir  /app-logs  聚合日志后在hdfs的存放地址

yarn.nodemanager.remote-app-log-dir-suffix  logs   集合日志后的存放地址由 ${remote-app-log-dir}/${user}/{thisParam}构成

yarn.nodemanager.delete.debug-delay-sec 600  application执行结束后延迟10min删除本地文件及日志

2、Spark On Yarn日志

Spark本身也有日志聚合功能(日志聚合是为了程序运行完成之后还能看到日志,否则只有在运行过程中才能看日志,因为运行完之后executor就释放了)

配置Spark日志聚合,在spark-defaults.conf中设置:

spark.eventLog.enable=true

spark.eventLog.dir = hdfs:///spark-history/logs

然后启动spark historyServer就可以在默认端口18080上看到spark的历史聚合日志了。

当在Yarn上提交spark的时候,Yarn的8088端口上进入任务的History链接,默认是到Yarn的historyServer的端口19888的,不会自动跳转到Spark的18080端口。

如果要自动跳转到Spark的historyServer 18080端口,需要在spark-defaults.conf中添加配置:

spark.yarn.historyServer.address=http://spark-history:18080

添加SPARK_HISTORY_OPTS参数
# vi spark-env.sh
#!/usr/bin/env bash

export SCALA_HOME=/root/learnproject/app/scala
export JAVA_HOME=/usr/java/jdk1.8.0_111
export HADOOP_CONF_DIR=/root/learnproject/app/hadoop/etc/hadoop

export SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://mycluster/spark/historylog \
-Dspark.history.ui.port=18080 \
-Dspark.history.retainedApplications=20"

然后就可以了。

以上就是如何理解Yarn的日志聚合,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。

当前名称:如何理解Yarn的日志聚合
网页URL:https://www.cdcxhl.com/article48/ppgihp.html

成都网站建设公司_创新互联,为您提供品牌网站设计静态网站网站维护网站策划品牌网站建设手机网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设