使用flink-CDC checkpoint超时问题

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

使用flink-CDC checkpoint超时问题

丁浩浩
我刚调研flink sql cdc功能,我有一个这样的需求,就是三张CDC的表做left join关联,由于三张表都会变化,所以使用cdc来做。
前两张表数据每张大概20万条数据,最后一张表只有几十条数据,我是讲三张表关联之后做成宽表写入的mysql中。
每次数据写到10万条左右任务失败,查看了一下日志,是checkpoint超时造成的。状态后端用的rocksDB。我想问
数据量也不是很大,为什么checkpoint会超时呢,也就是10分钟没有完成checkpoint?

Reply | Threaded
Open this post in threaded view
|

Re: 使用flink-CDC checkpoint超时问题

zhisheng
hi

我建议可以从两方面排查一下:

1、检查 checkpoint 的大小,是不是很大?

2、检查作业是否反压?反压的情况下 checkpoint 一般很难成功,这种情况可以先解决反压的问题。

Best
zhisheng

丁浩浩 <[hidden email]> 于2020年11月2日周一 下午4:08写道:

> 我刚调研flink sql cdc功能,我有一个这样的需求,就是三张CDC的表做left join关联,由于三张表都会变化,所以使用cdc来做。
> 前两张表数据每张大概20万条数据,最后一张表只有几十条数据,我是讲三张表关联之后做成宽表写入的mysql中。
> 每次数据写到10万条左右任务失败,查看了一下日志,是checkpoint超时造成的。状态后端用的rocksDB。我想问
> 数据量也不是很大,为什么checkpoint会超时呢,也就是10分钟没有完成checkpoint?
>
>
Reply | Threaded
Open this post in threaded view
|

Re: 使用flink-CDC checkpoint超时问题

丁浩浩
1.我发现那张小表的checkpoint很快就完成了,只有数据量20万左右的表一直没有完成直到超时,数据量并不大,但是我发现
处理的速度是不是太慢了,写入mysql的数据大概是200条/s。
2.我发现cdc首次全量加载数据好像需要将表全量的数据处理完成之后才能checkpoint完成(之后增量的checkpoint应该就是binlog offset的方式)
所以当我的表数据比较大时,checkpoint永远都无法完成,我能增加checkpoint的超时时间吗,我在官网的配置里好像没有看到这个选项。

> 在 2020年11月3日,上午8:54,zhisheng <[hidden email]> 写道:
>
> hi
>
> 我建议可以从两方面排查一下:
>
> 1、检查 checkpoint 的大小,是不是很大?
>
> 2、检查作业是否反压?反压的情况下 checkpoint 一般很难成功,这种情况可以先解决反压的问题。
>
> Best
> zhisheng
>
> 丁浩浩 <[hidden email]> 于2020年11月2日周一 下午4:08写道:
>
>> 我刚调研flink sql cdc功能,我有一个这样的需求,就是三张CDC的表做left join关联,由于三张表都会变化,所以使用cdc来做。
>> 前两张表数据每张大概20万条数据,最后一张表只有几十条数据,我是讲三张表关联之后做成宽表写入的mysql中。
>> 每次数据写到10万条左右任务失败,查看了一下日志,是checkpoint超时造成的。状态后端用的rocksDB。我想问
>> 数据量也不是很大,为什么checkpoint会超时呢,也就是10分钟没有完成checkpoint?
>>
>>

Reply | Threaded
Open this post in threaded view
|

Re: 使用flink-CDC checkpoint超时问题

Jark
Administrator
看下这篇文章的第四条有提到:https://mp.weixin.qq.com/s/Mfn-fFegb5wzI8BIHhNGvQ

On Tue, 3 Nov 2020 at 12:50, 丁浩浩 <[hidden email]> wrote:

> 1.我发现那张小表的checkpoint很快就完成了,只有数据量20万左右的表一直没有完成直到超时,数据量并不大,但是我发现
> 处理的速度是不是太慢了,写入mysql的数据大概是200条/s。
> 2.我发现cdc首次全量加载数据好像需要将表全量的数据处理完成之后才能checkpoint完成(之后增量的checkpoint应该就是binlog
> offset的方式)
> 所以当我的表数据比较大时,checkpoint永远都无法完成,我能增加checkpoint的超时时间吗,我在官网的配置里好像没有看到这个选项。
>
> > 在 2020年11月3日,上午8:54,zhisheng <[hidden email]> 写道:
> >
> > hi
> >
> > 我建议可以从两方面排查一下:
> >
> > 1、检查 checkpoint 的大小,是不是很大?
> >
> > 2、检查作业是否反压?反压的情况下 checkpoint 一般很难成功,这种情况可以先解决反压的问题。
> >
> > Best
> > zhisheng
> >
> > 丁浩浩 <[hidden email]> 于2020年11月2日周一 下午4:08写道:
> >
> >> 我刚调研flink sql cdc功能,我有一个这样的需求,就是三张CDC的表做left join关联,由于三张表都会变化,所以使用cdc来做。
> >> 前两张表数据每张大概20万条数据,最后一张表只有几十条数据,我是讲三张表关联之后做成宽表写入的mysql中。
> >> 每次数据写到10万条左右任务失败,查看了一下日志,是checkpoint超时造成的。状态后端用的rocksDB。我想问
> >> 数据量也不是很大,为什么checkpoint会超时呢,也就是10分钟没有完成checkpoint?
> >>
> >>
>
>