Log Aggregation Status TIME_OUT的缘起

在spark on yarn运行中,有时会发现spark程序运行完毕后,spark的运行界面没有信息,或者找不到相关的运行信息了,经仔细查看NodeManager UI
,出现如下信息:
Log Aggregation Status TIME_OUT

原来NodeManager可以在应用结束后将日志安全地移动到分布式文件系统HDFS,当应用(application)结束时,用户能通过 YARN 的命令行工具、网页端或者HDFS中来查看这些日志
当打开yarn.log-aggregation-enable为true时,会启用聚合,如果为false,NodeManager会把日志存储在节点本地(${yarn.nodemanager.log-dirs}/application_${appid} )下

日志聚合的相关配置:
yarn.nodemanager.remote-app-log-dir: 这是 NodeManager将日志聚合后存放在HDFS 上的地址.
yarn.nodemanager.remote-app-log-dir-suffix: 日志目录会这样创建 {yarn.nodemanager.remote-app-log-dir}/${user}/{thisParam}
yarn.log-aggregation.retain-seconds: 聚合后的日志文件在多久后被删除, 配置成 -1 或者一个负值不会删除
yarn.log-aggregation.retain-check-interval-seconds: 多长时间去检查一次哪些聚合日志需要删除.
yarn.log.server.url: 应用结束后NodeManager会将网页访问自动跳转到聚合日志的地址, 指向的是 JobHistory上的地址.

回到“Log Aggregation Status TIME_OUT”这个问题上来,如果有1个控制超时的参数就可以解决这个问题了,遗憾的是,hadoop2.8.0版本才出现了下面这个参数,我们来看官方的注释:

<property>
    <name>yarn.log-aggregation-status.time-out.ms</name>
    <value>600000</value>
    <description>
        How long for ResourceManager to wait for NodeManager to report its
        log aggregation status. If waiting time of which the log aggregation
        status is reported from NodeManager exceeds the configured value, RM
        will report log aggregation status for this NodeManager as TIME_OUT
    </description>
</property>

在更低的hadoop版本中如果要修复这个问题,通过打patch即可解决

备注:
要打印出一个给定应用的所有日志, 命令如下
> yarn logs -applicationId <application ID>



日志聚合是一种将多个来源的日志数据收集到一个统一的位置的过程。在软件开发和系统管理中,日志是记录应用程序或系统运行状态的重要工具。由于现代软件系统和网络环境的复杂性,往往会产生大量的日志数据,这些数据分布在多个节点和不同的设备上,使用各种不同的格式和结构。 日志聚合的目标是将这些分散的日志数据集中到一个位置,以便于管理人员检查和分析。通过日志聚合,我们可以将不同应用和系统的日志数据整合到单个存储库中,提供统一的视图和简化的管理。聚合后的日志数据还可以进行更复杂的分析,例如趋势分析、行为分析和故障排除等。 日志聚合还能够帮助加强系统的安全性。通过将各个系统和设备的日志数据集中起来,我们可以更容易地检测和识别异常活动、安全漏洞和潜在的攻击。这样可以及时采取相应的措施来应对安全威胁,保护系统和数据的安全。 为了实现日志聚合,可以使用各种工具和技术。一些常见的日志聚合工具包括ELK Stack(Elasticsearch、Logstash和Kibana)、Splunk、Fluentd等。这些工具可以帮助收集、传输、存储和可视化日志数据。同时,这些工具还提供了强大的搜索和查询功能,方便用户进行日志数据的检索和分析。 总之,日志聚合是将分散的日志数据集中到一个位置的过程,帮助简化日志管理和分析。它为系统管理员和开发人员提供了更方便和高效的方式来监控系统运行状态、分析问题和保护系统安全。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值