yarn.log-aggregation-enable:是否启用 YARN 的日志聚合功能,默认为 true,即启用。可以在 yarn-site.xml 中进行配置。
yarn.log-aggregation.retain-seconds:日志聚合后保留的时间,单位为秒,默认值为 3 * 24 * 60 * 60 秒,即三天。可以在 yarn-site.xml 中进行配置。
设置好以上参数后,YARN 会在一定时间范围内对任务的日志进行聚合,并在一定时间后自动清理聚合后的日志文件。如果需要调整清理周期,可以修改 yarn.log-aggregation.retain-seconds 参数的值。
在 Flink on YARN 中,你可以通过以下参数来控制历史日志的保留和清理行为:
yarn.log-aggregation-enable:指定是否启用日志聚合功能,默认值为 true。如果设置为 false,则 Flink 不会将日志发送到 HDFS 中的聚合目录。
yarn.log-aggregation.retain-seconds:指定历史日志的保留时间(以秒为单位),默认值为 3,600 秒(1 小时)。如果设置为 0,则表示不保留历史日志。在指定时间内,Flink 会将任务运行日志保存在 HDFS 中的聚合目录中。
yarn.log-aggregation.retain-check-interval-seconds:指定检查历史日志保留时间间隔(以秒为单位),默认值为 300 秒(5 分钟)。Flink 会每隔一定时间检查一次历史日志的保留时间,并删除已过期的日志文件。
你可以在 flink-conf.yaml 文件中设置这些参数,例如:
Enable log aggregation and retain logs for 1 hour
yarn.log-aggregation-enable: true yarn.log-aggregation.retain-seconds: 3600 在此配置中,Flink on YARN 将启用日志聚合功能,并将任务运行日志保留 1 小时。每隔 5 分钟检查一次历史日志的保留时间,并删除已过期的日志文件。
注意,这些参数只控制历史日志的保留和清理行为。如果你想要减少 Flink 程序的运行日志量,可以通过修改 log4j.properties 文件中的日志级别来调整日志输出水平。
2023-04-23 17:24:06
对于 Flink on Yarn,Flink TaskManager 的日志文件是由 Yarn 的日志聚合机制负责收集和清理的。因此,要设置日志的清理策略,您需要修改 Yarn 的相关配置项。
您可以按照以下步骤进行操作:
修改 Yarn 的 yarn-site.xml
配置文件,在其中指定日志的滚动和保留策略。具体的配置项包括:
yarn.log-aggregation.retain-seconds
: 指定日志的保留时间,单位为秒,默认值为 -1,表示永久保存;
yarn.log-aggregation.roll-monitoring-interval-seconds
: 指定日志滚动的周期,单位为秒,默认值为 3600,表示每小时滚动。
您需要将这些配置项设置为合适的值,以满足您的需求。
例如,如果您希望在任务完成之后的 7 天内保留日志,并以每天为周期进行滚动,可以这样进行配置:
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
<property>
<name>yarn.log-aggregation.roll-monitoring-interval-seconds</name>
<value>86400</value>
</property>
- 根据修改后的配置文件,重新启动 Yarn 环境,以使配置生效。
这样,Yarn 就会按照您的配置项进行日志滚动和保留,从而达到清理日志的目的。
需要注意的是,如果您需要清理 Flink 的 TaskManager 日志,可以在 Flink 的 log4j.properties
配置文件中设置具体的清理策略。具体的配置项包括:
log.cleanup.interval
: 指定日志清理的周期,单位为小时,默认为 12 小时;log.cleanup.max-age
: 指定日志最大保留时间,单位为天,默认为 7 天。
您可以根据需要进行调整。
2023-04-23 16:51:26