大家好,请教一个问题,
当Flink在使用Kafka作为source,并且checkpoint开启时,提交的offset是在消息被链路最后一个算子处理之后才会把这条offset提交吗? 还是说这个消息只要从Kafka source读取后,不论链路处理到哪个算子, checkpoint成功时就会把它的offset提交呢? 另外有大神指路这段代码具体在哪个文件吗? 谢谢! -- Best Wishes, Shuwen Zhou |
checkpoint成功时就会把它的offset提交,可以看下这个类: FlinkKafkaConsumerBase 的 这个方法: notifyCheckpointComplete
-----Original Message----- From: user-zh-return-5976-wxchunjhyy=[hidden email] <user-zh-return-5976-wxchunjhyy=[hidden email]> On Behalf Of shuwen zhou Sent: 2020年7月29日 14:24 To: [hidden email] Subject: Flink使用Kafka作为source时checkpoint成功提交offset的机制 大家好,请教一个问题, 当Flink在使用Kafka作为source,并且checkpoint开启时,提交的offset是在消息被链路最后一个算子处理之后才会把这条offset提交吗? 还是说这个消息只要从Kafka source读取后,不论链路处理到哪个算子, checkpoint成功时就会把它的offset提交呢? 另外有大神指路这段代码具体在哪个文件吗? 谢谢! -- Best Wishes, Shuwen Zhou |
比如读到一条offset值为100的消息,有Kafka Consumer source,一个Process算子和一个Sink算子
那么在这条消息到达Process算子,还未到达Sink算子时,提交offset是100吗? On Wed, 29 Jul 2020 at 14:51, venn <[hidden email]> wrote: > checkpoint成功时就会把它的offset提交,可以看下这个类: FlinkKafkaConsumerBase 的 这个方法: > notifyCheckpointComplete > > -----Original Message----- > From: user-zh-return-5976-wxchunjhyy=[hidden email] > <user-zh-return-5976-wxchunjhyy=[hidden email]> On Behalf Of > shuwen zhou > Sent: 2020年7月29日 14:24 > To: [hidden email] > Subject: Flink使用Kafka作为source时checkpoint成功提交offset的机制 > > 大家好,请教一个问题, > > 当Flink在使用Kafka作为source,并且checkpoint开启时,提交的offset是在消息被链路最后一个算子处理之后才会把这条offset提交吗? > 还是说这个消息只要从Kafka source读取后,不论链路处理到哪个算子, checkpoint成功时就会把它的offset提交呢? > > 另外有大神指路这段代码具体在哪个文件吗? > 谢谢! > > -- > Best Wishes, > Shuwen Zhou > -- Best Wishes, Shuwen Zhou <http://www.linkedin.com/pub/shuwen-zhou/57/55b/599/> |
可以这样理解,实际上souce 算子只知道这条数据发出去了,不知道这条数据执行到哪里的
-----Original Message----- From: user-zh-return-5981-wxchunjhyy=[hidden email] <user-zh-return-5981-wxchunjhyy=[hidden email]> On Behalf Of shuwen zhou Sent: 2020年7月29日 15:10 To: [hidden email] Subject: Re: Flink使用Kafka作为source时checkpoint成功提交offset的机制 比如读到一条offset值为100的消息,有Kafka Consumer source,一个Process算子和一个Sink算子 那么在这条消息到达Process算子,还未到达Sink算子时,提交offset是100吗? On Wed, 29 Jul 2020 at 14:51, venn <[hidden email]> wrote: > checkpoint成功时就会把它的offset提交,可以看下这个类: FlinkKafkaConsumerBase 的 这个方法: > notifyCheckpointComplete > > -----Original Message----- > From: user-zh-return-5976-wxchunjhyy=[hidden email] > <user-zh-return-5976-wxchunjhyy=[hidden email]> On Behalf Of > shuwen zhou > Sent: 2020年7月29日 14:24 > To: [hidden email] > Subject: Flink使用Kafka作为source时checkpoint成功提交offset的机制 > > 大家好,请教一个问题, > > 当Flink在使用Kafka作为source,并且checkpoint开启时,提交的offset是在消息被链路最后一个算子处理之后才会把这条 > offset提交吗? > 还是说这个消息只要从Kafka source读取后,不论链路处理到哪个算子, checkpoint成功时就会把它的offset提交呢? > > 另外有大神指路这段代码具体在哪个文件吗? > 谢谢! > > -- > Best Wishes, > Shuwen Zhou > -- Best Wishes, Shuwen Zhou <http://www.linkedin.com/pub/shuwen-zhou/57/55b/599/> |
In reply to this post by shuwen zhou
你是说emit之后的offset commit么?可以看下
`Kafka09Fetcher`的runFetchLoop方法 在2020年07月29日 15:09,shuwen zhou<[hidden email]> 写道: 比如读到一条offset值为100的消息,有Kafka Consumer source,一个Process算子和一个Sink算子 那么在这条消息到达Process算子,还未到达Sink算子时,提交offset是100吗? On Wed, 29 Jul 2020 at 14:51, venn <[hidden email]> wrote: checkpoint成功时就会把它的offset提交,可以看下这个类: FlinkKafkaConsumerBase 的 这个方法: notifyCheckpointComplete -----Original Message----- From: user-zh-return-5976-wxchunjhyy=[hidden email] <user-zh-return-5976-wxchunjhyy=[hidden email]> On Behalf Of shuwen zhou Sent: 2020年7月29日 14:24 To: [hidden email] Subject: Flink使用Kafka作为source时checkpoint成功提交offset的机制 大家好,请教一个问题, 当Flink在使用Kafka作为source,并且checkpoint开启时,提交的offset是在消息被链路最后一个算子处理之后才会把这条offset提交吗? 还是说这个消息只要从Kafka source读取后,不论链路处理到哪个算子, checkpoint成功时就会把它的offset提交呢? 另外有大神指路这段代码具体在哪个文件吗? 谢谢! -- Best Wishes, Shuwen Zhou -- Best Wishes, Shuwen Zhou <http://www.linkedin.com/pub/shuwen-zhou/57/55b/599/> |
似乎楼主一开始说的checkpoint成功是指source
算子的checkpoint成功?但notifyCheckpointComplete函数要求的是整个链路的chk成功。 这个时候offset为100的消息必然已经被sink算子处理完成了,因为触发chk的屏障消息必然在offset100的消息之后到达sink算子。 hk__lrzy <[hidden email]> 于2020年7月29日周三 下午5:53写道: > 你是说emit之后的offset commit么?可以看下 > `Kafka09Fetcher`的runFetchLoop方法 > > > 在2020年07月29日 15:09,shuwen zhou<[hidden email]> 写道: > 比如读到一条offset值为100的消息,有Kafka Consumer source,一个Process算子和一个Sink算子 > 那么在这条消息到达Process算子,还未到达Sink算子时,提交offset是100吗? > > On Wed, 29 Jul 2020 at 14:51, venn <[hidden email]> wrote: > > checkpoint成功时就会把它的offset提交,可以看下这个类: FlinkKafkaConsumerBase 的 这个方法: > notifyCheckpointComplete > > -----Original Message----- > From: user-zh-return-5976-wxchunjhyy=[hidden email] > <user-zh-return-5976-wxchunjhyy=[hidden email]> On Behalf Of > shuwen zhou > Sent: 2020年7月29日 14:24 > To: [hidden email] > Subject: Flink使用Kafka作为source时checkpoint成功提交offset的机制 > > 大家好,请教一个问题, > > > 当Flink在使用Kafka作为source,并且checkpoint开启时,提交的offset是在消息被链路最后一个算子处理之后才会把这条offset提交吗? > 还是说这个消息只要从Kafka source读取后,不论链路处理到哪个算子, checkpoint成功时就会把它的offset提交呢? > > 另外有大神指路这段代码具体在哪个文件吗? > 谢谢! > > -- > Best Wishes, > Shuwen Zhou > > > > -- > Best Wishes, > Shuwen Zhou <http://www.linkedin.com/pub/shuwen-zhou/57/55b/599/> > |
Free forum by Nabble | Edit this page |