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

ejk8hzay  于 2021-06-21  发布在  Flink
关注(0)|答案(1)|浏览(829)

我有一个flink作业,它使用logback作为日志框架,因为日志需要发送到logstash,logback有一个logstash appender(logstash logback appender)。appender工作正常,当flink作业从eclipse这样的ide运行时,我可以在logstash中看到应用程序日志。日志配置文件logback.xml放在src/main/resources中,并包含在类路径中。即使从ide外部的命令行运行作业,日志也可以正常工作。
但是,当我在flink cluster(单机版)上部署此作业时,开始使用 ./start-cluster.bat )通过flink Jmeter 板,logback配置被忽略,日志不会被发送到logstash。
我读了更多关于flink的日志机制的内容,还看到了配置logback的文档。本文档中提到的步骤与一些附加步骤(如添加 logstash-logback-encoder lib/文件夹中的lib logback 罐。
尽管上面提到的步骤有效,但这是有问题的,因为flink使用的flink/conf文件夹中的logback配置适用于整个flink设置和flink上运行的所有作业。作业不能有自己的日志记录配置。例如,我想给job1写信 file , console , logstash 只写作业2 file .
如何为从 Jmeter 板启动的每个flink作业提供单独的日志记录配置?在 Jmeter 板上提交作业时,是否有任何方法可以传递日志记录配置?
有没有办法强迫flink在类路径上使用日志配置?

xpszyzbs

xpszyzbs1#

flink目前不支持为每个作业指定单独的日志记录配置。日志记录配置对整个集群始终有效。
解决此问题的一种方法是按作业模式启动作业。这意味着您为每个flink作业启动一个专用的flink集群。

bin/flink run -m yarn-cluster -p 2 MyJobJar.jar

相关问题