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

老哥们,我有个问题,就是flink任务设置了restart strategy,所以报错会自动重启,但

老哥们,我有个问题,就是flink任务设置了restart strategy,所以报错会自动重启,但是重启后我看taskManager中的日志刷新了,想看之前taskmanager日志中报错详情除了将任务停掉取yarn看历史日志,有没有不用停掉任务的方法?

展开
收起
十一0204 2023-04-11 09:36:55 352 0
3 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    在阿里云Flink中,您可以使用 Flink Web UI 来查看任务的日志,而无需停止任务或查看 YARN 历史日志。

    具体来说,Flink Web UI 提供了一个方便的日志查看器,可以让您轻松地查看任务的日志输出。您只需要在 Flink Web UI 中选择相应的任务,然后选择 "Logs" 选项卡即可查看任务的日志输出。

    如果您需要查看之前的日志输出,可以使用 Flink Web UI 中的滚动日志功能。滚动日志功能允许您在不停止任务的情况下查看之前的日志输出。您只需要在日志查看器中向上滚动,即可查看之前的日志输出。

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

    可以通过 Flink Web UI 中 Task Manager 的日志页面来查看 Task Manager 的历史日志,该页面会显示当前 Task Manager 执行的所有日志。

    您可以按以下步骤查看 Task Manager 的历史日志:

    打开 Flink Web UI,在左侧导航栏中选择 "Task Managers"。

    选择要查看的 Task Manager,进入该 Task Manager 的详情页面。

    在右上角选择 "Logs" 选项卡,即可查看 Task Manager 的历史日志。

    请注意,在该页中显示的是该 Task Manager 的所有日志,包括启动日志、标准输出和标准错误输出。您可以使用筛选器来缩小日志的范围,然后查找与您的报错相关的日志信息。

    希望这个方法能够帮助到您。

    2023-04-17 16:41:29
    赞同 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

    在Flink任务重启后,之前的TaskManager日志会被清空,这是因为重启后Flink会重新启动TaskManager进程,相当于重新启动了一个新的Flink任务。因此,如果您想查看之前的TaskManager日志中的报错详情,一种方法是将日志写入文件,这样即使重启任务,之前的日志仍然可以通过文件查看。

    具体实现方法如下:

    在Flink的flink-conf.yaml配置文件中,添加以下配置,将TaskManager的日志写入文件:

    log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=/path/to/taskmanager.log log4j.appender.file.MaxFileSize=100MB 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 %c{1} - %m%n log4j.logger.org.apache.flink=INFO, file 这里将TaskManager的日志写入了/path/to/taskmanager.log文件中,同时设置了单个文件大小为100MB,最多保留10个备份文件。

    在Flink任务启动时,将日志级别设置为DEBUG或更高级别,以便记录更详细的日志信息。

    在Flink的log4j.properties配置文件中,添加以下配置:

    log4j.logger.org.apache.flink=DEBUG

    当任务重启后,查看之前的TaskManager日志,可以通过以下命令:

    tail -f /path/to/taskmanager.log

    这样可以实时查看之前的TaskManager日志输出。

    需要注意的是,如果Flink任务重启后,TaskManager进程的日志文件名可能会发生变化,需要根据实际情况调整日志文件路径。

    2023-04-11 11:08:29
    赞同 展开评论 打赏

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

相关产品

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

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