You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by 丁浩浩 <18...@163.com> on 2020/11/02 08:08:00 UTC

使用flink-CDC checkpoint超时问题

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


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

Posted by Jark Wu <im...@gmail.com>.
看下这篇文章的第四条有提到:https://mp.weixin.qq.com/s/Mfn-fFegb5wzI8BIHhNGvQ

On Tue, 3 Nov 2020 at 12:50, 丁浩浩 <18...@163.com> wrote:

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

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

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

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


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

Posted by zhisheng <zh...@gmail.com>.
hi

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

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

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

Best
zhisheng

丁浩浩 <18...@163.com> 于2020年11月2日周一 下午4:08写道:

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