>Hi,
>在使用flink往kafka写入数据时,使用了EXACTLY-ONCE,但是 >在debug测试的时候,发现数据在invoke方法里的traction.producer.send()的时候数据就已经传过去了,没有通过precommit和commit方法 >请问大家可以解释一下吗?谢谢! |
Hi
sink 为kafka时,需要kafka版本大于1.0,并且kafka端也要开启两阶段提交功能才能满足EXACTLY-ONCE。可以检查下你的配置是否都满足。 Best, Yichao Yang ------------------ 原始邮件 ------------------ 发件人: "胡云川"<[hidden email]>; 发送时间: 2020年6月10日(星期三) 下午2:25 收件人: "user-zh"<[hidden email]>; 主题: flink精准一次性消费问题 &gt;Hi, &gt;在使用flink往kafka写入数据时,使用了EXACTLY-ONCE,但是 &gt;在debug测试的时候,发现数据在invoke方法里的traction.producer.send()的时候数据就已经传过去了,没有通过precommit和commit方法 &gt;请问大家可以解释一下吗?谢谢! |
In reply to this post by 胡云川
这个要看你消费者设置的隔离级别,read uncommit 和read commint.
read uncommit 的话,flink未commit,那么就是消费不到数据的。 read commit的话,就可以消费到数据 ------------------ 原始邮件 ------------------ 发件人: "胡云川"<[hidden email]>; 发送时间: 2020年6月10日(星期三) 下午2:25 收件人: "user-zh"<[hidden email]>; 主题: flink精准一次性消费问题 &gt;Hi, &gt;在使用flink往kafka写入数据时,使用了EXACTLY-ONCE,但是 &gt;在debug测试的时候,发现数据在invoke方法里的traction.producer.send()的时候数据就已经传过去了,没有通过precommit和commit方法 &gt;请问大家可以解释一下吗?谢谢! |
In reply to this post by Yichao Yang
kafka 从 0.11.0 开始支持事务写,在 flink 中如果开启了 EXACTLY-ONCE,数据会先 send 到 kafka,但在未调用 commit 之前,这部分数据是数据是属于未完成事务的数据,站在 kafka 的角度,数据还是会存储下来的,只不过下游在消费的时候,根据 isolation.level 设置来决定是否能消费到未 commit 的数据。
--- Best, Matt Wang On 06/10/2020 14:28,Yichao Yang<[hidden email]> wrote: Hi sink 为kafka时,需要kafka版本大于1.0,并且kafka端也要开启两阶段提交功能才能满足EXACTLY-ONCE。可以检查下你的配置是否都满足。 Best, Yichao Yang ------------------ 原始邮件 ------------------ 发件人: "胡云川"<[hidden email]>; 发送时间: 2020年6月10日(星期三) 下午2:25 收件人: "user-zh"<[hidden email]>; 主题: flink精准一次性消费问题 &gt;Hi, &gt;在使用flink往kafka写入数据时,使用了EXACTLY-ONCE,但是 &gt;在debug测试的时候,发现数据在invoke方法里的traction.producer.send()的时候数据就已经传过去了,没有通过precommit和commit方法 &gt;请问大家可以解释一下吗?谢谢! |
>Hi
>这些问题都已经排查过了, >有一个问题,在做exctly-once的时候, >checkpoint的配置有什么要求吗? >还有就是kafka的事务提交多久能提交一次,可配置吗? >望解答,谢谢各位! ------------------ 原始邮件 ------------------ 发件人: "Matt Wang"<[hidden email]>; 发送时间: 2020年6月10日(星期三) 晚上7:39 收件人: "[hidden email]"<[hidden email]>; 主题: Re:flink精准一次性消费问题 kafka 从 0.11.0 开始支持事务写,在 flink 中如果开启了 EXACTLY-ONCE,数据会先 send 到 kafka,但在未调用 commit 之前,这部分数据是数据是属于未完成事务的数据,站在 kafka 的角度,数据还是会存储下来的,只不过下游在消费的时候,根据 isolation.level 设置来决定是否能消费到未 commit 的数据。 --- Best, Matt Wang On 06/10/2020 14:28,Yichao Yang<[hidden email]> wrote: Hi sink&nbsp; 为kafka时,需要kafka版本大于1.0,并且kafka端也要开启两阶段提交功能才能满足EXACTLY-ONCE。可以检查下你的配置是否都满足。 Best, Yichao Yang ------------------&nbsp;原始邮件&nbsp;------------------ 发件人:&nbsp;"胡云川"<[hidden email]&gt;; 发送时间:&nbsp;2020年6月10日(星期三) 下午2:25 收件人:&nbsp;"user-zh"<[hidden email]&gt;; 主题:&nbsp;flink精准一次性消费问题 &amp;gt;Hi, &amp;gt;在使用flink往kafka写入数据时,使用了EXACTLY-ONCE,但是 &amp;gt;在debug测试的时候,发现数据在invoke方法里的traction.producer.send()的时候数据就已经传过去了,没有通过precommit和commit方法 &amp;gt;请问大家可以解释一下吗?谢谢! |
checkpoint完成通知里提交的事务
------------------ 原始邮件 ------------------ 发件人: "胡云川"<[hidden email]>; 发送时间: 2020年6月11日(星期四) 下午4:56 收件人: "user-zh"<[hidden email]>; 主题: 回复:flink精准一次性消费问题 &gt;Hi &gt;这些问题都已经排查过了, &gt;有一个问题,在做exctly-once的时候, &gt;checkpoint的配置有什么要求吗? &gt;还有就是kafka的事务提交多久能提交一次,可配置吗? &gt;望解答,谢谢各位! ------------------&nbsp;原始邮件&nbsp;------------------ 发件人:&nbsp;"Matt Wang"<[hidden email]&gt;; 发送时间:&nbsp;2020年6月10日(星期三) 晚上7:39 收件人:&nbsp;"[hidden email]"<[hidden email]&gt;; 主题:&nbsp;Re:flink精准一次性消费问题 kafka 从 0.11.0 开始支持事务写,在 flink 中如果开启了 EXACTLY-ONCE,数据会先 send 到 kafka,但在未调用 commit 之前,这部分数据是数据是属于未完成事务的数据,站在 kafka 的角度,数据还是会存储下来的,只不过下游在消费的时候,根据&nbsp; isolation.level 设置来决定是否能消费到未 commit 的数据。 --- Best, Matt Wang On 06/10/2020 14:28,Yichao Yang<[hidden email]&gt; wrote: Hi sink&amp;nbsp; 为kafka时,需要kafka版本大于1.0,并且kafka端也要开启两阶段提交功能才能满足EXACTLY-ONCE。可以检查下你的配置是否都满足。 Best, Yichao Yang ------------------&amp;nbsp;原始邮件&amp;nbsp;------------------ 发件人:&amp;nbsp;"胡云川"<[hidden email]&amp;gt;; 发送时间:&amp;nbsp;2020年6月10日(星期三) 下午2:25 收件人:&amp;nbsp;"user-zh"<[hidden email]&amp;gt;; 主题:&amp;nbsp;flink精准一次性消费问题 &amp;amp;gt;Hi, &amp;amp;gt;在使用flink往kafka写入数据时,使用了EXACTLY-ONCE,但是 &amp;amp;gt;在debug测试的时候,发现数据在invoke方法里的traction.producer.send()的时候数据就已经传过去了,没有通过precommit和commit方法 &amp;amp;gt;请问大家可以解释一下吗?谢谢! |
>checkpoint的配置有什么要求吗?
配成 EXACTLY_ONCE >还有就是kafka的事务提交多久能提交一次,可配置吗? chk 的时候提交,这里面深究的话有点并发问题,可以看 TwoPhaseCommitSink 的细节 配置这个事儿...有能力自定义,但是为啥要这么做呢呢 Best, tison. 蒋佳成(Jiacheng Jiang) <[hidden email]> 于2020年6月11日周四 下午4:59写道: > checkpoint完成通知里提交的事务 > > > > > ------------------ 原始邮件 ------------------ > 发件人: "胡云川"<[hidden email]>; > 发送时间: 2020年6月11日(星期四) 下午4:56 > 收件人: "user-zh"<[hidden email]>; > 主题: 回复:flink精准一次性消费问题 > > > > &gt;Hi > &gt;这些问题都已经排查过了, > &gt;有一个问题,在做exctly-once的时候, > &gt;checkpoint的配置有什么要求吗? > &gt;还有就是kafka的事务提交多久能提交一次,可配置吗? > &gt;望解答,谢谢各位! > > > > > > > ------------------&nbsp;原始邮件&nbsp;------------------ > 发件人:&nbsp;"Matt Wang"<[hidden email]&gt;; > 发送时间:&nbsp;2020年6月10日(星期三) 晚上7:39 > 收件人:&nbsp;"[hidden email]"<[hidden email]&gt;; > > 主题:&nbsp;Re:flink精准一次性消费问题 > > > > kafka 从 0.11.0 开始支持事务写,在 flink 中如果开启了 EXACTLY-ONCE,数据会先 send 到 kafka,但在未调用 > commit 之前,这部分数据是数据是属于未完成事务的数据,站在 kafka > 的角度,数据还是会存储下来的,只不过下游在消费的时候,根据&nbsp; isolation.level 设置来决定是否能消费到未 commit > 的数据。 > > > --- > Best, > Matt Wang > > > On 06/10/2020 14:28,Yichao Yang<[hidden email]&gt; wrote: > Hi > > > sink&amp;nbsp; > 为kafka时,需要kafka版本大于1.0,并且kafka端也要开启两阶段提交功能才能满足EXACTLY-ONCE。可以检查下你的配置是否都满足。 > > > Best, > Yichao Yang > > > > > ------------------&amp;nbsp;原始邮件&amp;nbsp;------------------ > 发件人:&amp;nbsp;"胡云川"<[hidden email]&amp;gt;; > 发送时间:&amp;nbsp;2020年6月10日(星期三) 下午2:25 > 收件人:&amp;nbsp;"user-zh"<[hidden email]&amp;gt;; > > 主题:&amp;nbsp;flink精准一次性消费问题 > > > > &amp;amp;gt;Hi, > &amp;amp;gt;在使用flink往kafka写入数据时,使用了EXACTLY-ONCE,但是 > > &amp;amp;gt;在debug测试的时候,发现数据在invoke方法里的traction.producer.send()的时候数据就已经传过去了,没有通过precommit和commit方法 > &amp;amp;gt;请问大家可以解释一下吗?谢谢! |
Free forum by Nabble | Edit this page |