开发者社区> 问答> 正文

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

我有一个flink工作,它使用logback作为日志框架,因为日志需要发送到logstash并且logback有一个logstash appender(logstash-logback-appender)。appender工作正常,当从像Eclipse这样的IDE运行flink作业时,我可以在logstash中看到应用程序日志。日志配置文件logback.xml放在src / main / resources中,并包含在类路径中。即使从IDE外部的命令行运行作业,日志记录也能正常工作。

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

我阅读了有关flink日志记录机制的更多信息,并了解了有关配置logback的文档。本文档中提到的步骤可以正常使用一些额外的步骤,例如logstash-logback-encoder在lib /文件夹中添加lib以及logbackjar。

即使上面提到的步骤有效,这也是有问题的,因为flink使用的flink / conf文件夹中的logback配置适用于整个flink设置和flink上运行的所有作业。作业无法拥有自己的日志记录配置。例如。我想JOB1写入file,console,logstash和工作2写入只file。

如何从仪表板启动的每个flink作业都提供单独的日志记录配置?在仪表板上提交作业时,是否可以传递日志记录配置?

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

logback apache-flink logstash-logback-encoder

展开
收起
flink小助手 2018-12-11 16:46:51 9405 0
1 条回答
写回答
取消 提交回答
  • flink小助手会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关flink的问题及回答。

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

    解决此问题的方法是以按作业模式启动作业。这意味着您可以为每个Flink作业启动一个专用的Flink集群。
    bin/flink run -m yarn-cluster -p 2 MyJobJar.jar

    2019-07-17 23:19:54
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_赖思超_PostgreSQL10_hash索引的WAL日志修改版final 立即下载
Kubernetes下日志实时采集、存储与计算实践 立即下载
日志数据采集与分析对接 立即下载