Flink 日志记录限制:如何将日志记录配置传递给 Flink 作业

2024-02-26

我有一个 flink 作业,它使用 logback 作为日志记录框架,因为日志需要发送到logstash,而 logback 有一个 logstash 附加程序(Logstash-logback-appender)。 Appender 工作正常,当 Flink 作业从 Eclipse 等 IDE 运行时,我可以在 Logstash 中看到应用程序日志。日志记录配置文件日志记录文件被放置在src/主/资源并包含在类路径中。即使从 IDE 外部的命令行运行作业,日志记录也能正常工作。

但是,当我在 flink 集群(独立,开始使用)上部署此作业时./start-cluster.bat)通过flink仪表板,logback配置被忽略,日志不会发送到logstash.

我阅读了有关 flink 日志机制的更多信息并发现有关配置 logback 的文档 https://ci.apache.org/projects/flink/flink-docs-stable/monitoring/logging.html#configuring-logback。本文档中提到的步骤可以与一些其他步骤(例如添加logstash-logback-encoderlib/ 文件夹中的 lib 以及logback jars.

即使上面提到的步骤有效,这也是有问题的,因为 logback 配置在弗林克/会议flink 使用的文件夹适用于整个 flink 设置以及 flink 上运行的所有作业。作业不能有自己的日志记录配置。例如。我想要 job1 写信给file,console,logstash和作业 2 仅写入file.

如何为从仪表板启动的每个 Flink 作业提供单独的日志记录配置?在仪表板上提交作业时,有什么方法可以传递日志记录配置吗?

有没有办法强制 flink 在类路径上使用日志记录配置?


Flink 目前不支持为每个作业指定单独的日志配置。日志记录配置对于整个集群始终有效。

解决此问题的一种方法是以每个作业模式启动作业。这意味着您为每个 Flink 作业启动一个专用的 Flink 集群。

bin/flink run -m yarn-cluster -p 2 MyJobJar.jar
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flink 日志记录限制:如何将日志记录配置传递给 Flink 作业 的相关文章

  • Grails 3:外部 Logback.groovy 文件

    我正在尝试将我的logback groovy通过在 my 中设置路径来设置文件build gradlebootrun 闭包中的文件 bootRun if Environment currentEnvironment Environment
  • 在任务管理器之间均匀分配 Flink 运算符

    我正在 15 台机器的裸机集群上构建 Flink 流应用程序原型 我使用带有 90 个任务槽 15x6 的纱线模式 该应用程序从单个 Kafka 主题读取数据 Kafka主题有15个分区 所以我也将源算子的并行度设置为15 但是 我发现 F
  • Flink 中的水印和触发器有什么区别?

    我读到 排序运算符必须缓冲它接收到的所有元素 然后 当它接收到水印时 它可以对时间戳低于水印的所有元素进行排序 并按排序顺序发出它们 这是正确 因为水印表明不能有更多元素到达并与已排序元素混合 https cwiki apache org
  • Apache Beam 计数器/指标在 Flink WebUI 中不可用

    我正在使用 Flink 1 4 1 和 Beam 2 3 0 并且想知道是否可以在 Flink WebUI 或任何地方 中提供可用的指标 如 Dataflow WebUI 中那样 我用过类似的计数器 import org apache be
  • SLF4J + Logback 无法登录 WildFly

    我在 WildFly 8 中运行 Web 应用程序 但由于某种原因它没有记录 我使用 SLF4J 和 LOGBACK 日志文件是在部署时创建的 但它是空的 我也没有在 Wildfly 日志中看到我的日志语句 该类包含 package com
  • Flink TaskManager 超时?

    我正在运行 Flink 应用程序 通过 Yarn 似乎有时任务管理器会随机超时 这是错误 java util concurrent TimeoutException Heartbeat of TaskManager with id some
  • Flink CEP:对于不同类型的事件,使用哪种方法加入数据流?

    假设我有两种不同类型的数据流 一种提供天气数据 另一种提供车辆数据 我想使用 Flink 对数据进行复杂的事件处理 Flink 1 3 x 中哪种方法是正确的使用方法 我看到了不同的方法 如 Union Connect Window Joi
  • Logback 从根目录中排除记录器

    我有几个打包好的 想单独记录
  • 使用多个配置文件配置 logback

    我试图通过 springboot 下的配置文件分割我的 logback xml 这是我的方法 logback prod xml
  • GKE 和 Stackdriver:Java logback 日志记录格式?

    我有一个在 Kubernetes 上的 Docker 镜像中运行 Java 的项目 日志由 fluidd 代理自动摄取并最终存储在 Stackdriver 中 但是 日志的格式是错误的 多行日志被放入 Stackdriver 中的单独日志行
  • 在 RabbitMQ 监听器中隐藏运行时异常

    在某些故意发生的情况下 我使用了一些异常来拒绝消息 但在控制台中显示了乍一看似乎不太正常的异常 如何在登录控制台 文件时隐藏该特定异常 我正在使用 spring boot 和默认记录器 public static class Undispa
  • 如何配置 gradle 仅使用 logback-classic 进行 Android 中的单元测试?

    我有一个使用 slf4j logback 的 Android 应用程序 Gradle 文件如下所示 compile com github tony19 logback android core 1 1 1 6 exclude group c
  • Flink 流顺序

    Flink 能保证流的执行顺序吗 我有两个 Kafka 主题 每个主题都有一个分区 流 1 和流 2 并使用keyBy 流由一个处理coprocess功能 在我的测试过程中 我可以看到两个流的内容并不总是按顺序执行 我可以将并行度设置为 1
  • Flink 检查点到 Google Cloud Storage

    我正在尝试为 GCS 中的 flink 作业配置检查点 如果我在本地运行测试作业 没有 docker 和任何集群设置 一切正常 但如果我使用 docker compose 或集群设置运行它并在 flink 仪表板中使用作业部署 fat ja
  • Dropwizard 不会将自定义记录器记录到文件中

    我有一个 dropwizard 应用程序 我在其中将记录器附加程序配置为文件 如下所示 logging level INFO loggers mylogger INFO com path to class INFO appenders ty
  • 如何正确处理自定义MapFunction中的错误?

    我已经实施了MapFunction对于我的 Apache Flink 流程 它正在解析传入元素并将其转换为其他格式 但有时会出现错误 即传入数据无效 我看到两种可能的处理方法 忽略无效元素 但似乎我无法忽略错误 因为对于任何传入元素 我必须
  • logback 消息字段可以被截断/修剪为 n 个字符吗?

    有时会看到巨大的日志消息 并且并不总是能够 轻松 自动换行 有没有办法截断 message比如说 80 个字符logback xml 看一下格式修饰符部分 From http logback qos ch manual layouts ht
  • 我可以将 flink RocksDB 状态后端与本地文件系统一起使用吗?

    我正在探索使用 FlinkrocksDb 状态后端 文档似乎暗示我可以使用常规文件系统 例如 file data flink checkpoints 但代码 javadoc 仅在此处提到 hdfs 或 s3 选项 我想知道是否可以将本地文件
  • 覆盖 logback 配置

    有什么方法可以覆盖 logback 配置吗 我知道我们在名为的文件中定义了 logback 配置logback xml 通常存储在路径中src main resources 并且我知道通过使用
  • 如何通过 JUnit 测试拦截 SLF4J(带 logback)日志记录?

    是否有可能以某种方式拦截日志记录 SLF4J logback 并获得InputStream 或其他可读的东西 通过 JUnit 测试用例 Slf4j API 没有提供这样的方法 但 Logback 提供了一个简单的解决方案 您可以使用Lis

随机推荐

  • 我需要保留对 FileSystemWatcher 的引用吗?

    我正在使用一个FileSystemWatcher 在 ASP NET Web 应用程序中 监视文件的更改 观察者在 Singleton 类的构造函数中设置 例如 private SingletonConstructor var fileTo
  • Xcode 脚本 - 从构建设置而不是 info.plist 获取 Bundle ID

    我正在使用 Receigen 进行 Apple 收据检查 我在构建过程中集成了一个脚本 为我的项目生成适当的文件 Receigen binary RECEIGEN Applications Receigen app Contents Mac
  • 无法定义两个对象之间的关系,因为它们附加到不同的 ObjectContext 对象

    我已经阅读了一些与此特定错误消息有关的问题 答案 但我不太了解适当的解决方案 我多次读到您应该创建 EF4 上下文 使用它 然后处理它 在我的应用程序中 我使用不同的上下文对象到处加载实体 然后最终希望将这些实体关联在一起 我创建了一个简单
  • 在 WooCommerce 中付款后立即更改订单状态[重复]

    这个问题在这里已经有答案了 我需要在收到付款后自动将订单状态更改为已完成 但前提是订单状态为 正在处理 我发现了这个片段 是什么让订单状态在每种情况下都完成 但是我的付款插件在成功付款更改后返回数据并更改 处理 的订单状态 我想在成功后将其
  • 调整图像大小并将其设置为输入文件

    我使用 jquery 在上传时调整图像大小 效果很好 但我的问题是我想发送调整大小的图像 并且我想在输入文件中设置新图像的数据 以便在提交时将其发送到服务器 但我无法实现这一点 每次发送大文件时 这是我的代码 div div
  • 什么时候可以在类的方法中创建类的对象?

    public class TestClass public static void main String args TestClass t1 new TestClass t1 anything 在同一个类的定义中创建一个对象是不是很奇怪
  • 为什么并行填充数组时会出现竞争条件?

    Julia 语言中有一个函数 可以并行地用随机值填充数组并计算其总和 function thread test v Threads threads for i 1 length v inbounds v i rand end sum v e
  • mem_fn 到成员对象的函数

    我正在摆弄std mem fn并且无法设法将其绑定到结构成员的数据 函数 更深一层 我希望代码能比我描述的更好地显示问题 因为我不熟悉这些术语 include
  • JS一键切换(不是点击两次)-切换元素的默认值

    为什么我们需要在这里单击两次 http jsfiddle net xL8hyoye 4 http jsfiddle net xL8hyoye 4 html a href Click here to toggle visibility of
  • iOS:UIPasteboard setImage:在 iOS6 和/或 Xcode 4.5 上失败

    Update 在 Apple 网站上添加了错误 12408800 我正在将一个或多个 UIImage 复制到 UIPasteboard 它一直工作得非常顺利 直到我的手机升级到 iOS 6 Xcode 4 5 与 iOS 5 1 OK Xc
  • boost::asio::co_spawn 不会传播异常

    我正在涉足关于 boost asio 的协程 并且我对异常处理感到困惑 判断通过examples https www boost org doc libs 1 71 0 doc html boost asio example cpp17 c
  • JupyterLab 的下载文件夹

    我想从 Jupyterlab 在谷歌云实例上运行 下载一个 pickle 文件的文件夹 但我找不到这样做的方法 显然 下载单个文件是允许的 但我的文件夹中有大约 500 个 pickle 文件需要下载 因此手动下载需要一些时间 正如您在下面
  • 如何知道UILabel中显示的文字?

    我有一个UIView含有两个UILabels 以显示字符串 首先UILabel有固定的大小 如果绳子太长 容纳不下UILabel 我想在第一个中显示最大字符数UILabel 并在第二个中显示字符串的其余部分UILabel 但要做到这一点 我
  • Recordset.Edit或Update sql vba语句更新最快的方法?

    我最近遇到了vba update语句并且我一直在使用Recordset Edit and Recordset Update不仅编辑我现有的数据 而且更新它 我想知道两者的区别 recordset update and Update sql
  • calloc 与 malloc 以及时间效率

    我饶有兴趣地阅读了这篇文章C malloc和calloc的区别 https stackoverflow com questions 1538420 c difference between malloc and calloc 我在代码中使用
  • 安装软件包不起作用:权限被拒绝

    我正在努力安装 psych 包 我开始使用命令install packages psych 开始下载 结果如下 Installing package into C Users Username Documents R win library
  • 在 SQL Server 中查询对话中用户的精确匹配

    我有一个对话表和一个用户对话表 CONVERSATION Id Subject Type USERCONVERSATION Id UserId ConversationId 我需要根据 UserId 列表执行 SQL 查询 因此 如果同一个
  • @Scheduled 中的 Spring 会话范围对象

    在 Spring 中 我有很多使用如下定义的会话 bean 的代码 Scope value session proxyMode ScopedProxyMode TARGET CLASS 在我的网络应用程序中一切都很好 因为会话范围是 可用的
  • 自动将 Git 同步到 SVN

    Summary 我想要完成的是定期推送bare将 Git 存储库放入 Subversion 中 以便其他人可以使用无人值守的脚本来检查它 我不需要相反的方向 SVN gt Git 我希望有人能帮助我完成这件事 我见过的其他线程非常接近我所需
  • Flink 日志记录限制:如何将日志记录配置传递给 Flink 作业

    我有一个 flink 作业 它使用 logback 作为日志记录框架 因为日志需要发送到logstash 而 logback 有一个 logstash 附加程序 Logstash logback appender Appender 工作正常