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 张波 <17...@qq.com> on 2020/06/29 14:03:47 UTC

flink batch on yarn任务容错

场景如下:
flink批处理中,如果出现错误,包括网络及其他原因,导致任务失败,此时会将整个任务重新跑一遍,就算只是其中一个tm出现了问题也是如此。
我有一个sink es的操作,由于数据量大,将其分拆成一个独立的batch任务,但是只要中间有导致tm挂掉的错误(非任务本身逻辑问题),任务就会从头执行,感觉非常不友好。
问题:是否可以用streamsink的方式,使用checkpoint来解决批处理整个重启的问题?或者在10甚至之后的版本有新的解决方式?

回复: flink batch on yarn任务容错

Posted by 张波 <17...@qq.com>.
了解了,Thanks for help




------------------&nbsp;原始邮件&nbsp;------------------
发件人:&nbsp;"Jingsong Li"<jingsonglee0@gmail.com&gt;;
发送时间:&nbsp;2020年6月30日(星期二) 上午10:26
收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;

主题:&nbsp;Re: flink batch on yarn任务容错



Hi,

1.10后的Flink是支持单task的failover的,(需要batch shuffle和region调度)

所以容错粒度是基于单task。
批作业的Failover模型和流是不一样的。它就是基于单task,如果想要达到较好的容错,可以开更大的并行度,这样单task执行的时间会越短,failover效率也就会越高。

Best,
Jingsong

On Tue, Jun 30, 2020 at 9:41 AM 张波 <173603082@qq.com&gt; wrote:

&gt; hi,zhisheng 使用stream是否可以使任务因为单个tm失败的情况下,只重启这个tm,而非重启整个任务?
&gt; ------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
&gt; 发件人:&amp;nbsp;&amp;quot;zhisheng&amp;quot;<zhisheng2018@gmail.com&amp;gt;
&gt; 发送时间:&amp;nbsp;2020年6月30日(星期二) 上午8:47
&gt; 收件人:&amp;nbsp;&amp;quot;user-zh&amp;quot;<user-zh@flink.apache.org&amp;gt;;
&gt; 主题:&amp;nbsp;Re: flink batch on yarn任务容错



-- 
Best, Jingsong Lee

Re: flink batch on yarn任务容错

Posted by Jingsong Li <ji...@gmail.com>.
Hi,

1.10后的Flink是支持单task的failover的,(需要batch shuffle和region调度)

所以容错粒度是基于单task。
批作业的Failover模型和流是不一样的。它就是基于单task,如果想要达到较好的容错,可以开更大的并行度,这样单task执行的时间会越短,failover效率也就会越高。

Best,
Jingsong

On Tue, Jun 30, 2020 at 9:41 AM 张波 <17...@qq.com> wrote:

> hi,zhisheng 使用stream是否可以使任务因为单个tm失败的情况下,只重启这个tm,而非重启整个任务?
> ------------------&nbsp;原始邮件&nbsp;------------------
> 发件人:&nbsp;&quot;zhisheng&quot;<zhisheng2018@gmail.com&gt;
> 发送时间:&nbsp;2020年6月30日(星期二) 上午8:47
> 收件人:&nbsp;&quot;user-zh&quot;<user-zh@flink.apache.org&gt;;
> 主题:&nbsp;Re: flink batch on yarn任务容错



-- 
Best, Jingsong Lee

回复: flink batch on yarn任务容错

Posted by 张波 <17...@qq.com>.
hi,zhisheng 使用stream是否可以使任务因为单个tm失败的情况下,只重启这个tm,而非重启整个任务? ------------------&nbsp;原始邮件&nbsp;------------------
发件人:&nbsp;&quot;zhisheng&quot;<zhisheng2018@gmail.com&gt;
发送时间:&nbsp;2020年6月30日(星期二) 上午8:47
收件人:&nbsp;&quot;user-zh&quot;<user-zh@flink.apache.org&gt;;
主题:&nbsp;Re: flink batch on yarn任务容错

Re: flink batch on yarn任务容错

Posted by zhisheng <zh...@gmail.com>.
hi,张波,

使用 Checkpoint 的方式在遇到错误的时候会 failover,恢复的时候是从上一次完整 Checkpoint
的状态开始恢复,不会让你重新从最开始的数据开始读取计算。

Best !

zhisheng

张波 <17...@qq.com> 于2020年6月29日周一 下午10:06写道:

> 场景如下:
> flink批处理中,如果出现错误,包括网络及其他原因,导致任务失败,此时会将整个任务重新跑一遍,就算只是其中一个tm出现了问题也是如此。
> 我有一个sink
> es的操作,由于数据量大,将其分拆成一个独立的batch任务,但是只要中间有导致tm挂掉的错误(非任务本身逻辑问题),任务就会从头执行,感觉非常不友好。
> 问题:是否可以用streamsink的方式,使用checkpoint来解决批处理整个重启的问题?或者在10甚至之后的版本有新的解决方式?