Flink控制台任务提交的时候, SLF4J 多个绑定问题.

bash 复制代码
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/consola/flink/version01/lib/log4j-slf4j-impl-2.14.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/consola/flink/version01/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]

从日志信息来看,您遇到的问题主要可以分为两个方面:

  1. SLF4J 多个绑定问题

    SLF4J 报告说它在类路径中找到了多个绑定(bindings),这意味着存在多个不同的日志实现。具体来说,log4j-slf4j-impl-2.14.1.jarslf4j-log4j12-1.7.25.jar 都提供了 StaticLoggerBinder 的实现。这会导致不确定哪个日志实现会被使用,并可能导致日志记录行为不符合预期。

  2. Flink 日志文件传输失败

    Flink 尝试从 TaskExecutor 上传日志文件时遇到了错误,提示 "The file LOG does not exist on the TaskExecutor." 这表明 Flink 控制台尝试访问一个不存在的日志文件或路径。

解决方案

对于 SLF4J 多个绑定的问题:
  • 移除冗余的依赖 :检查您的项目依赖(包括 pom.xmlbuild.gradle 文件)和 Flink 安装目录下的 lib 文件夹,确保只包含一种 SLF4J 绑定。通常推荐使用最新版本的 Log4j2 实现,即保留 log4j-slf4j-impl 而移除 slf4j-log4j12

  • 清理本地 Maven 或 Gradle 缓存:有时候构建工具的缓存可能会导致旧的依赖被引入到项目中。尝试清理缓存并重新构建项目。

  • 确认日志配置 :检查 Flink 的日志配置(如 log4j.propertieslogback.xml),确保日志文件的路径是正确的,并且 TaskExecutor 确实会生成这些日志文件。

  • 验证日志文件位置 :确保 TaskExecutor 上确实有名为 LOG 的日志文件或者日志文件位于 Flink 期望的位置。如果日志文件名不是 LOG,请确认 Flink Web UI 请求的是正确的日志文件名。

  • 检查权限:确认 TaskExecutor 对日志文件具有读取权限,特别是当您在分布式环境中运行 Flink 时。

  • 查看 Flink 文档 :如果您正在使用自定义的日志配置,请参考 Flink 的官方文档 来正确设置日志参数。

  • 更新 Flink 版本:考虑到您使用的是 Flink 1.14.0,可能存在一些已知的问题。考虑升级到最新的稳定版本,以获得性能改进和错误修复。

总结

首先解决 SLF4J 的多个绑定问题,通过仅保留一种日志实现来避免潜在的日志记录冲突。然后针对 Flink 日志文件传输失败的问题,确保日志配置正确、日志文件存在并且权限适当。最后,如果问题依旧存在,可以考虑升级 Flink 到最新版本或查阅相关社区资源寻求帮助。

相关推荐
说私域9 小时前
基于开源AI大模型与S2B2C模式的线下服务型门店增长策略研究——以AI智能名片与小程序源码技术为核心
大数据·人工智能·小程序·开源
V_HY147629 小时前
AI碰一碰发视频获客工具,系统开发逻辑详细解析
大数据·人工智能·新媒体运营·流量运营
遇码9 小时前
单机快速部署开源、免费的分布式任务调度系统——DolphinScheduler
大数据·运维·分布式·开源·定时任务·dolphin·scheduler
一个天蝎座 白勺 程序猿10 小时前
大数据(4.2)Hive核心操作实战指南:表创建、数据加载与分区/分桶设计深度解析
大数据·hive·hadoop
计算机毕设定制辅导-无忧学长11 小时前
TDengine 核心概念与时序数据模型深度解析(一)
大数据·时序数据库·tdengine
TDengine (老段)11 小时前
TDengine 中的命名与边界
大数据·数据库·物联网·oracle·时序数据库·tdengine·iotdb
Acrelhuang13 小时前
8.3MW屋顶光伏+光储协同:上海汽车变速器低碳工厂的能源革命-安科瑞黄安南
大数据·数据库·人工智能·物联网·数据库开发
SelectDB14 小时前
拉卡拉 x Apache Doris:统一金融场景 OLAP 引擎,查询提速 15 倍,资源直降 52%
大数据·数据库·数据分析
合合技术团队15 小时前
实测对比|法国 AI 独角兽公司发布的“最强 OCR”,实测效果如何?
大数据·人工智能·图像识别
lilye6617 小时前
程序化广告行业(39/89):广告投放的数据分析与优化秘籍
大数据·人工智能·数据分析