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

Flink CDC中我flink任务是这个没有滚动的生成。这个滚动日志怎么配啊?

Flink CDC中我flink任务是用 flink run-application -t yarn-application 的方式运行在yarn上的。现在问题是任务日志一直是一个,没有滚动的生成。这个滚动日志怎么配啊?我根据官网的说法修改了log4j-cli.properties 和log4j-session.properties 配置

展开
收起
十一0204 2023-07-26 08:07:38 104 0
3 条回答
写回答
取消 提交回答
  • 通过 flink run-application -t yarn-application 方式运行 Flink CDC 任务时,任务日志默认是输出到一个文件中的,并不会自动滚动生成新的日志文件。如果你希望实现滚动日志的功能,可以按照以下步骤进行配置:

    1. 配置 Log4j RollingFileAppender:编辑 log4j-session.properties 文件,找到 log4j.appender.file 的配置,将其修改为如下内容:
    log4j.rootLogger=INFO, file
    
    # RollingFileAppender configuration
    log4j.appender.file=org.apache.log4j.RollingFileAppender
    log4j.appender.file.File=${log.file}
    log4j.appender.file.MaxFileSize=10MB
    log4j.appender.file.MaxBackupIndex=10
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n
    

    这样配置将启用 RollingFileAppender,并设置每个日志文件的最大大小为 10MB,最多保留 10 个备份文件。

    1. 启动 Flink 任务:在启动 Flink CDC 任务时,使用 -Dlog.file=<日志文件路径> 参数指定日志文件的输出路径。例如:
    $ flink run-application -t yarn-application -Dlog.file=/path/to/logfile MyApp.jar
    

    确保 <日志文件路径> 是一个可写的目录,并具有适当的访问权限。

    通过以上配置,Flink CDC 任务的日志将会滚动生成新的日志文件,每个文件大小不超过 10MB,并保留最多 10 个备份文件。

    请注意,上述配置是针对 Flink 的 Session 模式(yarn-session)运行的任务。如果你在 Standalone 或其他模式下运行任务,请相应地修改对应的 log4j 配置文件。

    2023-07-31 23:03:25
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    Flink CDC 中,滚动日志(rolling log)是指将日志文件按照一定大小或时间进行切分,以防止单个日志文件过大,影响系统性能和稳定性。如果您的 Flink 任务没有生成滚动日志,可能是因为 Flink 的日志配置参数没有正确设置。
    要启用 Flink CDC 的滚动日志功能,您可以在 Flink 的配置文件中设置以下参数:
    ini
    Copy

    设置日志文件名称

    log.file = flink-cdc.log

    设置日志文件目录

    log.dir = /path/to/flink/logs

    设置日志文件大小(单位为 MB)

    log.max-size = 100

    设置日志文件最大保留时间(单位为天)

    log.max-history = 7

    设置日志文件滚动策略(根据时间或大小切分)

    log.roll-mode = size
    其中,log.file 参数设置日志文件名称,log.dir 参数设置日志文件目录,log.max-size 参数设置日志文件大小,log.max-history 参数设置日志文件最大保留时间,log.roll-mode 参数设置日志文件滚动策略,可以根据实际需求进行配置。

    2023-07-29 16:33:15
    赞同 展开评论 打赏
  • 存在即是合理

    可以尝试修改flink-conf/log4j.properties文件中的参数,以启用滚动日志。默认情况下,Flink的日志是静态的,不会滚动。如果想要启用滚动日志,请将以下参数设置为true:

    log4j.appender.rolling.type=RollingFile
    log4j.appender.rolling.filePattern=logs/taskmanager.log-%d{yyyy-MM-dd_HH-mm-ss}
    log4j.appender.rolling.layout=org.apache.log4j.PatternLayout
    log4j.appender.rolling.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
    log4j.appender.rolling.policies.time.TimeBasedTriggeringPolicy=true
    log4j.appender.rolling.policies.size.SizeBasedTriggeringPolicy=10MB
    
    2023-07-28 14:16:40
    赞同 展开评论 打赏

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

相关产品

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

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载