[Flink] Flink Job运行状态正常,但日志中偶报“FlinkException: The file LOG does not exist on the TaskExecutor.”

这篇具有很好参考价值的文章主要介绍了[Flink] Flink Job运行状态正常,但日志中偶报“FlinkException: The file LOG does not exist on the TaskExecutor.”。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0 序言

  • Flink : 1.12
job start running time : 2022-12-27 17:40:47
problem throw time : 2023-05-11 16:41:29,394
flink cdc : mysql --> redis

在此之前,本flink cdc job运行一切正常(功能正常、日志正常)

1 问题描述

2023-05-11 16:41:29,394 ERROR org.apache.flink.runtime.rest.handler.taskmanager.TaskManagerLogFileHandler [] - Failed to transfer file from TaskExecutor flink-231840-taskmanager-1-1-7a7b81ea-1cec-4fc6-88b3-e0983c42b824.
java.util.concurrent.CompletionException: org.apache.flink.util.FlinkException: The file LOG does not exist on the TaskExecutor.
	at org.apache.flink.runtime.taskexecutor.TaskExecutor.lambda$requestFileUploadByFilePath$25(TaskExecutor.java:2031) ~[flink-dist_2.11-1.12.2-h0.cbu.dli.233.r4.jar:1.12.2-h0.cbu.dli.233.r4]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1604) ~[?:1.8.0_322]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_322]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_322]
	at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_322]
Caused by: org.apache.flink.util.FlinkException: The file LOG does not exist on the TaskExecutor.
	... 5 more
2023-05-11 16:41:29,395 ERROR org.apache.flink.runtime.rest.handler.taskmanager.TaskManagerLogFileHandler [] - Unhandled exception.
org.apache.flink.util.FlinkException: The file LOG does not exist on the TaskExecutor.
	at org.apache.flink.runtime.taskexecutor.TaskExecutor.lambda$requestFileUploadByFilePath$25(TaskExecutor.java:2031) ~[flink-dist_2.11-1.12.2-h0.cbu.dli.233.r4.jar:1.12.2-h0.cbu.dli.233.r4]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1604) ~[?:1.8.0_322]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_322]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_322]
	at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_322]
2023-05-11 16:41:39,026 INFO  org.apache.flink.runtime.checkpoint.CheckpointCoordinator    [] - Triggering checkpoint 192727 (type=CHECKPOINT) @ 1683794498517 for job e091d022d9992d5c17eac075507ff1a2.

2 原因分析

该报错主要是找不到STDOUT文件,原因是程序中没有sout输出,当你去web-ui点击stdout目录,就会报一个这儿样的接口请求错误,并不影响程序运行,可忽略。

3 解决方法

  • 方式1:不影响程序正常运行,忽略此ERROR即可

目前博主的做法 (经验证,确实不影响程序功能正常运行)

  • 方式2:修改Flink源码 (未验证)
如果一定要修复,提供以下方案:
  1. 修复flink runtime源码
  2. 如果没有sout输出,不要随便点击查看 stdout 目录
  3. 随便加一点sout输出在程序里
  • 方式3 修改日志参数配置(未验证)

网友:发现flink客户端提交的任务,jobManager中多了两个日志相关参数

[Flink] Flink Job运行状态正常,但日志中偶报“FlinkException: The file LOG does not exist on the TaskExecutor.”

  • $internal.deployment.config-dir
  • $internal.yarn.log-config-file
    网友测验:手动在程序中参考 YarnLogConfigUtil.discoverLogConfigFile方法设置 $internal.yarn.log-config-file 参数,最终日志成功出现!

[Flink] Flink Job运行状态正常,但日志中偶报“FlinkException: The file LOG does not exist on the TaskExecutor.”文章来源地址https://www.toymoban.com/news/detail-438960.html

X 参考文献

  • flink1.13报错:The file STDOUT does not exist on the TaskExecutor - CSDN 【推荐】
  • The file LOG/STDOUT is not available on the TaskExecutor - CSDN 【推荐】
  • 【Flink】FlinkException The file LOG does not exist on the TaskExecutor - CSDN 【推荐/需付费】
  • 大佬们,遇到过这个错吗?org.apache.flink.util.FlinkException: - Aliyun

到了这里,关于[Flink] Flink Job运行状态正常,但日志中偶报“FlinkException: The file LOG does not exist on the TaskExecutor.”的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 刀具磨损状态识别(Python代码,MSCNN_LSTM_Attention模型,初期磨损、正常磨损和急剧磨损分类,解压缩直接运行)

    环境库: NumPy 版本: 1.19.4 Pandas 版本: 0.23.4 Matplotlib 版本: 2.2.3 Keras 版本: 2.4.0 TensorFlow 版本: 2.4.0 sklearn  版本: 0.19.2 如果库版本不一样, 一般也可以运行,这里展示我运行时候的库版本,是为了防止你万一在你的电脑上面运行不了,可以按照我的库版本进行安装并运行  试验

    2024年02月06日
    浏览(42)
  • Flink stop 和 cancel停止 job 的区别 Flink 停止 job 的方式(stop 和 cancel)

    后边跟的任务id 是flink的任务ID,不是yarn的 注:stop方式停止任务对 source 有要求,source必须实现了StopableFunction接口,才可以优雅的停止job 取消任务。如果在 conf/flink-conf.yaml 里面配置了 state.savepoints.dir ,会保存savepoint, 否则不会保存 savepoint。 使用 命令方式 也可以在停止的

    2024年02月12日
    浏览(45)
  • Flink Job 执行流程

    ​ 基于 Yarn 层面的架构类似 Spark on Yarn 模式 ,都是由 Client 提交 App 到 RM 上面去运行,然后 RM 分配第一个 container 去运行 AM ,然后由 AM 去负责资源的监督和管理 。需要说明的是, Flink 的 Yarn 模式更加类似 Spark on Yarn 的 cluster 模式,在 cluster 模式中, dirver 将作为 AM 中的一

    2024年02月04日
    浏览(43)
  • 深入理解 Flink(六)Flink Job 提交和 Flink Graph 详解

    深入理解 Flink 系列文章已完结,总共八篇文章,直达链接: 深入理解 Flink (一)Flink 架构设计原理 深入理解 Flink (二)Flink StateBackend 和 Checkpoint 容错深入分析 深入理解 Flink (三)Flink 内核基础设施源码级原理详解 深入理解 Flink (四)Flink Time+WaterMark+Window 深入分析 深入

    2024年01月16日
    浏览(42)
  • Logback日志输入到xxl-job日志中

    前言 ​ 在xxl-job的任务中,如果需要把日志输入到xxl-job的日志文件里,需要使用XxlJobHelper.log来记录日志,这种方式才能在任务执行详情里面看到对应的日志。而有时候 习惯用@Slf4j来记录日志,而通过slf4j打印的日志没办法在xxl-job管理后台看到对应的日志。所以需要一种方式

    2024年02月15日
    浏览(65)
  • XXL-JOB 日志表和日志文件自动清理

    🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请纠正! 参考官方文档:XXL-JOB 日志自动清理 XXL-JOB日志主要包含如下两部分,均支持日志自动清理,说明如

    2024年02月04日
    浏览(30)
  • Flink CDC实现一个Job同步多个表

    直接使用Flink CDC SQL的写法,一个Job只能同步一个表的数据,至于原因,在此不再赘述。 直接上代码吧 将SourceRecord类转化为自定义的JsonRecord类型 JsonRecord类定义如下: 其中fieldValue为字段map序列化后的字符串 第三步,编写main函数 通过OutputTag实现分流

    2024年02月12日
    浏览(48)
  • Flink stop 和 cancel停止 job 的区别

    后边跟的任务id 是flink的任务ID,不是yarn的 注:stop方式停止任务对 source 有要求,source必须实现了StopableFunction接口,才可以优雅的停止job 取消任务。如果在 conf/flink-conf.yaml 里面配置了 state.savepoints.dir ,会保存savepoint, 否则不会保存 savepoint。 使用 命令方式 也可以在停止的

    2024年02月07日
    浏览(41)
  • 【Flink系列二】如何计算Job并行度及slots数量

    接上文的问题 并行的任务,需要占用多少slot ? 一个流处理程序,需要包含多少个任务 首先明确一下概念 slot:TM上分配资源的最小单元,它代表的是资源(比如1G内存,而非线程的概念,好多人把slot类比成线程,是不恰当的) 任务(task):线程调度的最小单元,和java中的

    2024年01月18日
    浏览(37)
  • Pod无法正常启动,出现CrashLoopBackOff状态

    Pod无法正常启动,出现CrashLoopBackOff状态。这个状态表示Kubernetes已经尝试了多次重新启动Pod,但是每次都失败了。 这种情况的原因有很多,以下是一些常见的原因以及相应的解决方法: 容器镜像拉取失败:可能是由于网络问题导致容器镜像无法下载。可以尝试使用 kubectl de

    2024年02月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包