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 Yichao Yang <10...@qq.com> on 2020/06/20 02:00:15 UTC

回复:Flink 多Sink 数据一致性保证

Hi


能不能描述一下你是什么样的场景下才会需要到多sink一致性保证?
可不可以换一下思路,选择只出kafka的数据,然后把kafka数据实时同步hbase。


Best,
Yichao Yang



发自我的iPhone


------------------ 原始邮件 ------------------
发件人: xueaohui_com@163.com <xueaohui_com@163.com&gt;
发送时间: 2020年6月20日 09:55
收件人: user-zh <user-zh@flink.apache.org&gt;
抄送: yungao.gy &gt; <yungao.gy@aliyun.com&gt;
主题: 回复:Flink 多Sink 数据一致性保证



Hello: 
&nbsp;&nbsp;&nbsp;&nbsp; 我手动试了一下,一个Sink的抛异常是不会影响另外一个Sink的写入的。
&nbsp;&nbsp;&nbsp;&nbsp; 引用: 按二阶段提交的逻辑,这种情况下kafka这边的事务也会被abort掉,数据不会真正写入。
&nbsp;&nbsp;&nbsp;&nbsp; 这个是需要手动开启吗?



xueaohui_com@163.com
&nbsp;
发件人: Yunyungao.gy@aliyun.com&gt;Gao
发送时间: 2020-06-19 15:21
收件人: xueaohui_com@163.com; user-zh
主题: Re: Flink 多Sink 数据一致性保证
Hello,
&nbsp;
&nbsp;&nbsp;&nbsp; 我理解多个sink的情况下,数据保证写入仍然发生在数据写入后的checkpoint完成,如果写入Hbase这边写入失败的时候会触发failover的话,按二阶段提交的逻辑,这种情况下kafka这边的事务也会被abort掉,数据不会真正写入。
&nbsp;
&nbsp;
------------------Original Mail ------------------
Sender:xueaohui_com@163.com <xueaohui_com@163.com&gt;
Send Date:Thu Jun 18 19:39:46 2020
Recipients:user-zh <user-zh@flink.apache.org&gt;
Subject:Flink 多Sink 数据一致性保证
&nbsp;
&nbsp;
&nbsp;
如上图所示,目前通过把作业加入多个sink,这种场景下面当hbase写入的失败的时候,不影响kakfa的写入。期望hbase写入失败,kafka也不发送。
如何保证hbase和kafka的写入为原子性呢?
不知道flink是否有多sink的二阶段提交方案。
&nbsp;
&nbsp;
&nbsp;
xueaohui_com@163.com