Flink SQL中关于chk删除和保留的疑问

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Flink SQL中关于chk删除和保留的疑问

amenhub@163.com
hi, everyone

    官网描述当flink program is cancelled,此时的flink默认会删除chk。

    我的疑问是:
    1.官网描述的[when program is cancelled],这个cancelled是指除故障导致停止之外的一切任务停止方式吗?
    2.如果是,在flink on yarn模式下,停止任务时采取 yarn application -kill [yarnAppId] 形式停止flink任务,chk似乎没有自动删除?
    3.假如不能删除,是否需要像trigger savepoint那样采用 stop 命令进行优雅的停止,chk才会自动删除?
    注:我的flink程序通过SQL提交,以on yarn模式运行。
Best
amenhub



[hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Flink SQL中关于chk删除和保留的疑问

LakeShen
Hi amenhub,

我这边针对你这三个问题回答一下:

1. 官网描述的[when program is cancelled],这个cancelled是指除故障导致停止之外的一切任务停止方式吗?
 这里的 canceled 主要是针对你使用 cancel 或者 cancel with savepoint 来停止作业,你可以通过命令行或者
REST API 来调用。

2.如果是,在flink on yarn模式下,停止任务时采取 yarn application -kill [yarnAppId]
形式停止flink任务,chk似乎没有自动删除?
 是的,如果你直接 yarn kill 你的 Flink 任务,Flink 任务的 Checkpoint 文件不会进行清理,还是会保留在 HDFS
上面。

3. 假如不能删除,是否需要像trigger savepoint那样采用 stop 命令进行优雅的停止,chk才会自动删除?
 目前 FLIP-34 建议用户如果需要停止作业的时候,触发 Savepoint,可以使用 stop 命令来停止。如果你不需要触发
Savepoint,也可以使用 cancel. 具体信息可以参考下列文档:

[1]
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=103090212
[2]
https://ci.apache.org/projects/flink/flink-docs-release-1.10/ops/cli.html#stop

Best wishes,
沈磊

[hidden email] <[hidden email]> 于2020年3月20日周五 下午3:35写道:

> hi, everyone
>
>     官网描述当flink program is cancelled,此时的flink默认会删除chk。
>
>     我的疑问是:
>     1.官网描述的[when program is cancelled],这个cancelled是指除故障导致停止之外的一切任务停止方式吗?
>     2.如果是,在flink on yarn模式下,停止任务时采取 yarn application -kill [yarnAppId]
> 形式停止flink任务,chk似乎没有自动删除?
>     3.假如不能删除,是否需要像trigger savepoint那样采用 stop 命令进行优雅的停止,chk才会自动删除?
>     注:我的flink程序通过SQL提交,以on yarn模式运行。
> Best
> amenhub
>
>
>
> [hidden email]
>
Reply | Threaded
Open this post in threaded view
|

Re: Re: Flink SQL中关于chk删除和保留的疑问

amenhub@163.com
hi 沈磊,

感谢耐心及专业的解惑~

如你所说,yarn kill任务不会自动清理保存在hdfs上的chk,是不是可以理解为根本不建议以yarn kill方式停止任务,类似于暴力停止的感觉,如果是这样的话,以stop或cancel方式停止任务时,如果出现在yarn ui上监控到的application假死,这种情况下岂不是需要再做一套监控,以监测二者状态是否同步。不过我不太了解在SQL环境中停止任务时,是如何与yarn进行交互反馈的,仍需努力学习,不过感激不尽,谢谢

Best,
amenhub



[hidden email]
 
发件人: LakeShen
发送时间: 2020-03-20 16:18
收件人: user-zh
主题: Re: Flink SQL中关于chk删除和保留的疑问
Hi amenhub,
 
我这边针对你这三个问题回答一下:
 
1. 官网描述的[when program is cancelled],这个cancelled是指除故障导致停止之外的一切任务停止方式吗?
这里的 canceled 主要是针对你使用 cancel 或者 cancel with savepoint 来停止作业,你可以通过命令行或者
REST API 来调用。
 
2.如果是,在flink on yarn模式下,停止任务时采取 yarn application -kill [yarnAppId]
形式停止flink任务,chk似乎没有自动删除?
是的,如果你直接 yarn kill 你的 Flink 任务,Flink 任务的 Checkpoint 文件不会进行清理,还是会保留在 HDFS
上面。
 
3. 假如不能删除,是否需要像trigger savepoint那样采用 stop 命令进行优雅的停止,chk才会自动删除?
目前 FLIP-34 建议用户如果需要停止作业的时候,触发 Savepoint,可以使用 stop 命令来停止。如果你不需要触发
Savepoint,也可以使用 cancel. 具体信息可以参考下列文档:
 
[1]
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=103090212
[2]
https://ci.apache.org/projects/flink/flink-docs-release-1.10/ops/cli.html#stop
 
Best wishes,
沈磊
 
[hidden email] <[hidden email]> 于2020年3月20日周五 下午3:35写道:
 

> hi, everyone
>
>     官网描述当flink program is cancelled,此时的flink默认会删除chk。
>
>     我的疑问是:
>     1.官网描述的[when program is cancelled],这个cancelled是指除故障导致停止之外的一切任务停止方式吗?
>     2.如果是,在flink on yarn模式下,停止任务时采取 yarn application -kill [yarnAppId]
> 形式停止flink任务,chk似乎没有自动删除?
>     3.假如不能删除,是否需要像trigger savepoint那样采用 stop 命令进行优雅的停止,chk才会自动删除?
>     注:我的flink程序通过SQL提交,以on yarn模式运行。
> Best
> amenhub
>
>
>
> [hidden email]
>
Reply | Threaded
Open this post in threaded view
|

Re: Re: Flink SQL中关于chk删除和保留的疑问

LakeShen
Hi amenhub,

是的,yarn kill 我个人不建议。当真的出现这种假死的情况,任务每次cancel的时候,cancel 执行完 , 可以在判断一下 Yarn
上任务的状态,如果没有停止,加个重试机制。

yarn kill 是终极保底方案。记得在使用 cancel 的 rest api 时,因为这个请求返回
202状态码,表示服务端接收到请求,但并不一定开始执行。这个地方需要注意一下。

由于触发 Savepoint 可能失败,stop with savepoint 或者 cancel with savepoint
有可能失败,这个地方也需要注意一下。

当然,如果你有其他好的方式,也欢迎一起讨论。

Best wishes,
沈磊

[hidden email] <[hidden email]> 于2020年3月20日周五 下午4:33写道:

> hi 沈磊,
>
> 感谢耐心及专业的解惑~
>
> 如你所说,yarn kill任务不会自动清理保存在hdfs上的chk,是不是可以理解为根本不建议以yarn
> kill方式停止任务,类似于暴力停止的感觉,如果是这样的话,以stop或cancel方式停止任务时,如果出现在yarn
> ui上监控到的application假死,这种情况下岂不是需要再做一套监控,以监测二者状态是否同步。不过我不太了解在SQL环境中停止任务时,是如何与yarn进行交互反馈的,仍需努力学习,不过感激不尽,谢谢
>
> Best,
> amenhub
>
>
>
> [hidden email]
>
> 发件人: LakeShen
> 发送时间: 2020-03-20 16:18
> 收件人: user-zh
> 主题: Re: Flink SQL中关于chk删除和保留的疑问
> Hi amenhub,
>
> 我这边针对你这三个问题回答一下:
>
> 1. 官网描述的[when program is cancelled],这个cancelled是指除故障导致停止之外的一切任务停止方式吗?
> 这里的 canceled 主要是针对你使用 cancel 或者 cancel with savepoint 来停止作业,你可以通过命令行或者
> REST API 来调用。
>
> 2.如果是,在flink on yarn模式下,停止任务时采取 yarn application -kill [yarnAppId]
> 形式停止flink任务,chk似乎没有自动删除?
> 是的,如果你直接 yarn kill 你的 Flink 任务,Flink 任务的 Checkpoint 文件不会进行清理,还是会保留在 HDFS
> 上面。
>
> 3. 假如不能删除,是否需要像trigger savepoint那样采用 stop 命令进行优雅的停止,chk才会自动删除?
> 目前 FLIP-34 建议用户如果需要停止作业的时候,触发 Savepoint,可以使用 stop 命令来停止。如果你不需要触发
> Savepoint,也可以使用 cancel. 具体信息可以参考下列文档:
>
> [1]
> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=103090212
> [2]
>
> https://ci.apache.org/projects/flink/flink-docs-release-1.10/ops/cli.html#stop
>
> Best wishes,
> 沈磊
>
> [hidden email] <[hidden email]> 于2020年3月20日周五 下午3:35写道:
>
> > hi, everyone
> >
> >     官网描述当flink program is cancelled,此时的flink默认会删除chk。
> >
> >     我的疑问是:
> >     1.官网描述的[when program is cancelled],这个cancelled是指除故障导致停止之外的一切任务停止方式吗?
> >     2.如果是,在flink on yarn模式下,停止任务时采取 yarn application -kill [yarnAppId]
> > 形式停止flink任务,chk似乎没有自动删除?
> >     3.假如不能删除,是否需要像trigger savepoint那样采用 stop 命令进行优雅的停止,chk才会自动删除?
> >     注:我的flink程序通过SQL提交,以on yarn模式运行。
> > Best
> > amenhub
> >
> >
> >
> > [hidden email]
> >
>