=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
  1. 全量读取阶段不支持checkpoint:CDC读取分为两个阶段,全量读取和增量读取,目前全量读取阶段是不支持checkpont的,因此会存在一个问题,

  2. 每一个Flink作业都会有一个JobManager ,JobManager里面又会有一个 checkpoint coordinator来管理整个checkpoint的过程,我们可以设置一个时间间隔让checkpoint coordinator 将一个 checkpoint 的事件发送给每一个 Container 中的 source task,也就是第一个任务。

    当某个 Source 算子收到一个 Barrier 时,它会暂停自身的数据处理,然后将自己的当前 state 制作成 snapshot(快照),并保存到指定的持久化存储中,最后向 CheckpointCoordinator 异步发送一个 ack(Acknowledge character — 确认字符),同时向自身所有下游算子广播该 Barrier 后恢复自身的数据处理。

    每个算子按照上面不断制作 snapshot并向下游广播,直到最后 Barrier 传递到 sink 算子,此时快照便制作完成。这时候需要注意的是,上游算子可能是多个数据源,对应多个 Barrier 需要全部到齐才一次性触发checkpoint,所以在遇到 checkpoint 时间较长的情况时,有可能是因为数据对齐需要耗费的时间比较长所造成的。

  3. 1、yarn的资源不够,导致slot数不够flinkjob设置的并发度。导致数据失败。

    2、hdfs存储空间不够。导致checkpoint一直失败,提交不了任务。

    3、flink代码有异常抛出,导致job一直在创建