当前位置: 首页 > 知识库问答 >
问题:

flink检查点时间与缓冲区对齐大小或对齐时间有何关系?

爱刚捷
2023-03-14

现在我的疑虑是:

1)即使当少数检查点状态大小比其它检查点状态小(70-80%小)时,它也需要几分钟(15-20%的时间),而其它检查点状态则需要5-10秒。

2)缓冲区对齐大小有时会增加到7-8GB,而平均为800MB-1GB,但检查点时间不受此影响。我想它应该需要更多时间,因为它应该等待检查点屏障。

4)很少的子任务在hdfs中需要2-3分钟(5-10%的时间),所以98%的子任务在30-50秒内完成,而1-2个(95%的时间,只有一个)子任务需要2-3分钟,这延迟了整个检查点时间。问题不是在这个子任务运行的节点上,因为它有时发生在某个节点上,有时发生在另一个节点上。

5)我们每6-8小时会得到一次异常,这会重新启动作业。TimerException{java.nio.channels.closedByInterruptException}在org.apache.flink.streaming.runtime.tasks.SystemProcessingTimeService$TriggerTask.run(SystemProcessingTimeService.java:288)

6)如何最小化对齐缓冲时间。

7)保存点时间随输入速率或状态大小的增加或减少而增加或减少,但检查点时间并不相同,检查点时间有时与状态大小呈反比关系,或者可以看出它不受状态大小的影响。

8)当我们重新启动作业时,所有的子任务在所有节点上花费2-3天的时间是一致的,但是之后1-2个子任务花费2-3分钟,而其他的子任务花费15-30秒。我可能在这种行为上是错误的,但是据我观察,这也是一种情况。

共有1个答案

谭仰岳
2023-03-14

请注意,窗口是有状态的,除非您正在进行增量聚合,否则较长的窗口具有更多的状态,这将反过来影响检查点大小和持续时间。

了解您使用的是哪种状态的后端,以及是否使用增量检查点将会很有帮助。

首先,我将尝试寻找导致背压的慢速下沉子任务的原因,而背压又会导致痛苦的检查点。例如,可能是数据偏斜或资源匮乏。一些常见的原因包括CPU、网络或磁盘带宽不足,或AWS(或其他API)速率限制。例如,看起来您有很多CPU,但是一个热键可能会给一个线程带来太多的负载,从而阻碍整个集群。

 类似资料:
  • 我有一个flink作业,它读取用户事件,使用会话窗口并写回kafka。 我使用的状态后端是s3(没有hdfs集群,只是使用libs)。 问题是,端到端的检查点时间一直在增加,直到检查点被丢弃,而大部分时间都花在“对齐”上。 问题是-为什么?,如何在不将检查点模式设置为至少一次的情况下解决此问题?

  • 我正在尝试编写一个Flink应用程序,它从Kafka读取事件,从MySQL丰富这些事件并将这些数据写入HBase。我正在中进行MySQL丰富,我现在正在尝试弄清楚如何最好地写入HBase。我想批量写入HBase,所以我目前正在考虑使用,后跟标识(仅返回),然后编写,它获取记录列表并批处理放入。 这是正确的做事方式吗?仅仅为了进行基于时间的缓冲而使用所有窗口和应用窗口感觉很奇怪。

  • 我想在网站上集成一个时间线,并使用以下代码作为时间线的基础:http://bootsnipp.com/snippets/featured/timeline-responsive 我通过添加图片进一步扩展了代码片段。一开始,两张图片(第一排)一切都很好,三张也很好(在前两张下面),但一出现第四张,后者突然出现在下面一排,而不是第二排下面的第三排。 HTML: 如果你需要进一步的代码部分,请告诉我,我

  • 我真的很难理解有什么区别?从我的研究来看,似乎可以...和之间空格,而可以...、、和? 此外,、和这两个属性似乎是共享的。 使用其中一个比使用另一个有何不同/优势,还是仅仅是偏爱?我觉得他们都是方式相似,只是做同样的事情,有谁知道区别吗?谢谢!!

  • 我已经阅读了网格的完整指南,但仍然对两组容器属性之间的差异感到困惑,即“”与“”。 我的困惑围绕着作者的说法,即“”集在那里是因为 有时网格的总大小可能小于网格容器的大小 我认为这两种情况都适用,而不仅仅是“”集合。 有人能解释一下吗?最好使用一些图形说明作为示例。

  • 问题内容: 为了防止错误共享,我想将数组的每个元素与高速缓存行对齐。因此,首先我需要知道高速缓存行的大小,因此我为每个元素分配了字节数。其次,我希望数组的开头与缓存行对齐。 我正在使用Linux和8核x86平台。首先,我如何找到缓存行大小。其次,如何在C中对齐缓存行。我正在使用gcc编译器。 因此,假设缓存行大小为64,结构将如下所示。 依此类推,假设0-63与高速缓存行对齐。 问题答案: 要知道