开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

flink on yarn 怎么设置按周期清理下任务运行日志呢

flink on yarn 怎么设置按周期清理下任务运行日志呢

展开
收起
游客6vdkhpqtie2h2 2022-09-27 09:52:46 2307 0
12 条回答
写回答
取消 提交回答
  • 在阿里云Flink on YARN上,可以通过修改flink-conf.yaml文件来设置按周期清理下任务运行日志。具体步骤如下:

    1. 进入Flink的conf目录,找到flink-conf.yaml文件。
    2. 在文件中找到“TaskManager”部分,设置以下参数:
    taskmanager.log.cleanup.interval: 3600s  # 设置清理周期为1小时
    taskmanager.log.path: file:///path/to/logs  # 设置日志存储路径
    taskmanager.log.max-history-size: 10  # 设置保留的日志文件数量
    

    其中,“taskmanager.log.cleanup.interval”参数用于设置清理周期,“taskmanager.log.path”参数用于设置日志存储路径,“taskmanager.log.max-history-size”参数用于设置保留的日志文件数量。

    1. 保存并关闭文件,重启Flink集群以使配置生效。

    设置完成后,Flink on YARN会按照指定的周期清理任务运行日志。

    2023-05-07 23:53:29
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    在阿里云实时计算 Flink on YARN 中,任务运行日志默认保存在 HDFS 或本地磁盘上,可以通过配置清理策略来定期清理日志。

    具体操作如下:

    1.在 Flink 配置文件 flink-conf.yaml 中添加以下配置:

    # 指定日志保存的本地目录,如果未指定,日志会保存在 Yarn 的日志目录下
    yarn.application.logs.dir: <path>
    
    # 指定日志保留的天数,超过这个时间的日志会被清理
    yarn.log-aggregation.retain-seconds: <seconds>
    

    其中,yarn.application.logs.dir 指定日志保存的本地目录(可选),如果未指定,日志会保存在 Yarn 的日志目录下;yarn.log-aggregation.retain-seconds 指定日志保留的天数,超过这个时间的日志会被清理。

    2.在 YARN 上启动 Flink 任务时,通过以下命令指定 YARN 的日志目录和日志保留时间:

    $ yarn session -n <num> -tm <tm> -s <slot> -jm <jm> -yt \
      -D yarn.application.logs.dir=<path> \
      -D yarn.log-aggregation.retain-seconds=<seconds>
    

    其中,yarn.application.logs.diryarn.log-aggregation.retain-seconds 可以指定 YARN 的日志目录和日志保留时间。

    通过以上配置和命令,即可实现按周期清理下任务运行日志。同时,如果您需要将日志保存在 HDFS 上,需要在 flink-conf.yaml 中设置 yarn.log-aggregation.include-patternyarn.log-aggregation.roll-monitoring-interval-seconds 等相关参数。

    2023-05-05 20:28:16
    赞同 展开评论 打赏
  • 可以通过配置以下属性来按周期清理Flink on YARN上的任务运行日志: 1. 设置日志保留时间:通过设置 flink.yarn.log.retention-time 参数来指定日志保留时间。默认情况下,保留时间为7天。

    1. 设置日志滚动间隔:通过设置 log4j.appender.file.RollingPolicy.FileNamePattern 参数来指定日志滚动间隔。例如,设置为每小时滚动一次:
    log4j.appender.file.RollingPolicy.FileNamePattern=/path/to/logs/flink-%d{yyyyMMddHH}.log
    
    1. 设置日志清理任务:通过创建一个定时任务来周期性地清理过期的日志文件。例如,可以使用Linux的cron来定时运行一个脚本,清理过期的日志文件:
    0 0 * * * /path/to/clean_logs.sh
    

    脚本内容如下:

    #!/bin/bash
    find /path/to/logs/ -type f -mtime +7 -name "flink-*.log" -exec rm {} \;
    

    以上是一些常用的方法,可以根据实际情况进行调整。

    2023-05-02 07:51:45
    赞同 展开评论 打赏
  • 您可以通过在 flink-conf.yaml 文件中设置 'yarn.log-aggregation.retain-seconds' 属性来设置日志保留的时间。该属性表示日志应该保留多长时间(以秒为单位),默认情况下为 7 天。例如,您可以将此配置值设置为 86400(即一天的秒数),以将日志自动清除为期一天的所有任务。

    在 flink-conf.yaml 文件中添加以下内容:

    yarn.log-aggregation.retain-seconds: 86400
    

    然后,按照常规流程在 YARN 上提交 Flink 作业,并等待作业完成。完成后,Flink 会将任务日志统一转移到 YARN 的 HDFS 上,并在指定时间后自动清除任务的运行日志。

    2023-04-27 23:31:55
    赞同 展开评论 打赏
  • 云端行者觅知音, 技术前沿我独行。 前言探索无边界, 阿里风光引我情。

    这个应该不复杂的,你可以看看它的配置。

    在yarn.log-aggregation.retain-seconds参数来设置日志的保留时间。

    官方文档中也有示例,你可以参考 yarn.log-aggregation.retain-seconds: 604800 (单位是秒)

    如果您使用其他日志管理工具来管理日志,需要使用相应的配置来设置日志的保留时间。

    另外,如果您想在任务运行结束后立即清理日志,可以使用以下命令:

    yarn logs -applicationId <application_id> -log_files <log_file_pattern> -am -clean

    2023-04-27 17:31:35
    赞同 展开评论 打赏
  • 从事java行业9年至今,热爱技术,热爱以博文记录日常工作,csdn博主,座右铭是:让技术不再枯燥,让每一位技术人爱上技术

    Flink在作业探查界面查看历史作业实例日志,需要您在作业开发页面的高级配置中已打开日志归档功能。默认已开启日志归档功能。默认日志归档有效期是7天。同时Flink全托管上已配置了历史作业实例的日志输出到OSS或者SLS,配置操作参考:文档配置了日志输出到OSS或者SLS之后,日志配置中默认会保留2个文件,每个文件大小为5 MB,不建议修改该值。如果该日志保存大小不满足您的需求,则请将日志输出至OSS中。定时清理日志可以在OSS或者SLS上面操作。

    2023-04-27 10:23:53
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    您可以通过在Flink配置文件中设置以下属性来启用Flink的日志清理功能:

    开启日志清理功能

    yarn.log-aggregation-enable: true

    日志保留时间,单位为秒,默认为1天

    yarn.log-aggregation.retain-seconds: 86400

    日志清理周期,单位为秒,默认为1小时

    yarn.log-aggregation.retain-check-interval-seconds: 3600 其中,yarn.log-aggregation-enable属性用于开启日志清理功能,yarn.log-aggregation.retain-seconds属性用于设置日志保留时间,yarn.log-aggregation.retain-check-interval-seconds属性用于设置日志清理周期。

    在Flink应用程序中,您可以通过在log4j.properties文件中设置以下属性来控制日志输出:

    日志输出路径

    log4j.appender.file.File=${log.dir}/flink-${sys:jobmanager.rpc.address}-${sys:jobmanager.rpc.port}.log

    日志输出级别

    log4j.rootLogger=INFO, file 在以上配置中,log4j.appender.file.File属性用于设置日志输出路径,log4j.rootLogger属性用于设置日志输出级别。您可以根据自己的需求进行修改。

    2023-04-26 12:34:23
    赞同 展开评论 打赏
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。

    在 Flink on YARN 中,可以通过设置 yarn.log-aggregation.retain-seconds 参数来控制任务运行日志的清理周期。

    具体来说,可以通过在 flink-conf.yaml 配置文件中添加以下内容来实现:

    yarn.log-aggregation-enable: true yarn.log-aggregation.retain-seconds:

    其中, 代表了日志保留的时间周期,以秒为单位。例如,设置为 3600 表示保留 1 小时的任务运行日志。

    需要注意的是,上述配置只对新提交的作业生效。对于已经提交的作业,需要手动杀掉并重新提交才能生效。此外,Flink on YARN 还支持通过其他方式定期清理历史日志

    2023-04-25 11:53:24
    赞同 展开评论 打赏
  • 在 Flink on YARN 中,可以通过设置 YARN 的日志清理策略来定期清理 Flink 任务的运行日志。YARN 的日志清理策略可以通过修改 yarn-site.xml 文件来配置,具体步骤如下:

    1. 打开 yarn-site.xml 文件,通常位于 $HADOOP_HOME/etc/hadoop 目录下。

    2. 添加如下配置项,用于设置日志保留的时间和日志清理的周期,例如设置日志保留 7 天,每天清理一次:

    <property>
      <name>yarn.log-aggregation.retain-seconds</name>
      <value>604800</value> <!-- 7 days in seconds -->
    </property>
    <property>
      <name>yarn.log-aggregation.retain-check-interval-seconds</name>
      <value>86400</value> <!-- 1 day in seconds -->
    </property>
    
    1. 保存 yarn-site.xml 文件并退出。

    其中,yarn.log-aggregation.retain-seconds 参数用于设置日志保留的时间,单位为秒,例如上述配置中设置为 604800 秒(即 7 天),表示保留最近 7 天的日志。yarn.log-aggregation.retain-check-interval-seconds 参数用于设置日志清理的周期,单位为秒,例如上述配置中设置为 86400 秒(即 1 天),表示每天清理一次日志。

    设置好 YARN 的日志清理策略后,YARN 就会按照配置的时间周期定期清理 Flink 任务的运行日志。需要注意的是,在 Flink on YARN 中,任务的日志通常存储在 YARN 的日志聚合目录中,因此需要确保 Flink 的日志配置中设置了正确的日志路径。可以通过修改 flink-conf.yaml 文件中的相关配置项来设置 Flink 的日志路径,例如:

    yarn.application-attempt-id: "{{APPLICATION_ID}}_{{APP_ATTEMPT_ID}}"
    yarn.log.server-url: "http://{{HOSTNAME}}:{{HTTP_STATIC_PORT}}"
    yarn.log.dir: "hdfs:///flink/logs"
    

    其中,yarn.log.dir 参数用于设置 Flink 的日志存储路径,例如上述配置中设置为 hdfs:///flink/logs,表示将 Flink 的日志存储在 HDFS 的 /flink/logs 目录下。

    2023-04-24 13:39:32
    赞同 展开评论 打赏
  • 全栈JAVA领域创作者

    在 Flink on YARN 中,可以通过修改以下配置参数来实现按周期清理任务运行日志:

    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 参数的值。

    2023-04-23 21:37:39
    赞同 展开评论 打赏
  • 热爱开发

    在 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 的相关配置项。

    您可以按照以下步骤进行操作:

    1. 修改 Yarn 的 yarn-site.xml 配置文件,在其中指定日志的滚动和保留策略。具体的配置项包括:

    2. yarn.log-aggregation.retain-seconds: 指定日志的保留时间,单位为秒,默认值为 -1,表示永久保存;

    3. 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>
    
    1. 根据修改后的配置文件,重新启动 Yarn 环境,以使配置生效。

    这样,Yarn 就会按照您的配置项进行日志滚动和保留,从而达到清理日志的目的。

    需要注意的是,如果您需要清理 Flink 的 TaskManager 日志,可以在 Flink 的 log4j.properties 配置文件中设置具体的清理策略。具体的配置项包括:

    • log.cleanup.interval: 指定日志清理的周期,单位为小时,默认为 12 小时;
    • log.cleanup.max-age: 指定日志最大保留时间,单位为天,默认为 7 天。

    您可以根据需要进行调整。

    2023-04-23 16:51:26
    赞同 展开评论 打赏
滑动查看更多

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    深度学习+大数据 TensorFlow on Yarn 立即下载
    Docker on Yarn 微服务实践 立即下载
    深度学习+大数据-TensorFlow on Yarn 立即下载