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
------------------ 原始邮件 ------------------
发件人: "Jingsong Li"<jingsonglee0@gmail.com>;
发送时间: 2020年6月30日(星期二) 上午10:26
收件人: "user-zh"<user-zh@flink.apache.org>;
主题: 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> 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
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,而非重启整个任务?
> ------------------ 原始邮件 ------------------
> 发件人: "zhisheng"<zhisheng2018@gmail.com>
> 发送时间: 2020年6月30日(星期二) 上午8:47
> 收件人: "user-zh"<user-zh@flink.apache.org>;
> 主题: Re: flink batch on yarn任务容错
--
Best, Jingsong Lee
回复: flink batch on yarn任务容错
Posted by 张波 <17...@qq.com>.
hi,zhisheng 使用stream是否可以使任务因为单个tm失败的情况下,只重启这个tm,而非重启整个任务? ------------------ 原始邮件 ------------------
发件人: "zhisheng"<zhisheng2018@gmail.com>
发送时间: 2020年6月30日(星期二) 上午8:47
收件人: "user-zh"<user-zh@flink.apache.org>;
主题: 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甚至之后的版本有新的解决方式?