倾斜背压指示 - 如何识别其根本原因



如何确定任务中的背压根本原因?(即 - 多手术器任务的哪个操作员正在引起背压(

  • 是否有相关日志?(失败跟踪stacktracesamplecoordinator-"接收到的后期堆栈跟踪示例"在任何日志中都不出现(
  • 我可以使用其他任何工具?

=================================

这是我所概括的:在弗林克作业执行期间,正在显示背压指示。据我了解,导致任务是成功使用BP指示的"最新"任务的任务。此任务正在运行多个操作员的流程:简化,地图和水槽。分析工作指标无济于事 - 从前面的运营商那里得到的是该操作员内部的原因。以下工作计划的第一任务和第二任务出现了背压指示:

[Source: Custom Source -> Filter -> (Flat Map -> Timestamps/Watermarks)] -> [Timestamps/Watermarks] -> [TriggerWindow(TumblingEventTimeWindows(300000), ReducingStateDescriptor{serializer=org.apache.flink.api.java.typeutils.runtime.TupleSerializer@f812e02f, reduceFunction=EntityReducer@2d19244c}, EventTimeTrigger(), WindowedStream.reduce(WindowedStream.java:300)) -> Map -> Sink: Unnamed]

  • []象征任务。

在Flink UI中,任务的背压表示任务对collect()的调用正在阻止。因此,如果任务1&2在您的示例中有背压,然后任务3中可能没有跟上您的来源。

请注意,如果您的源是不延迟的合成事件,但是您有一个真正的水槽,那么随着水槽变成瓶颈,您总是会看到背压。有关您实际来源的详细信息&水槽在这里很有用。

要深入研究任务3内发生的事情,您可以连接诸如YourKit之类的东西,以监视该任务中各种(管道的(操作的实际CPU使用情况。或仅几次kill -QUIT <taskmanager pid>,查看哪些线程被阻止/做真实工作。

相关内容

  • 没有找到相关文章

最新更新