我有一个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在类路径上使用日志配置?
1条答案
按热度按时间xpszyzbs1#
flink目前不支持为每个作业指定单独的日志记录配置。日志记录配置对整个集群始终有效。
解决此问题的一种方法是按作业模式启动作业。这意味着您为每个flink作业启动一个专用的flink集群。