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 op <52...@qq.com> on 2021/02/04 03:04:28 UTC

如何在程序里面判断作业是否是重启了

大家好:
&nbsp; &nbsp;我在程序里通过RestartStrategies设置了重启策略,现在想在算子里面判断是否是触发了Restart,请问有哪些方法能实现呢?

Re: 如何在程序里面判断作业是否是重启了

Posted by Zhu Zhu <re...@gmail.com>.
RuntimeContext 有 getAttemptNumber() 接口,可以看出任务是第几次重跑了。
但是一般来说,我们都是通过外部系统监控 Flink 作业的 numRestarts metric 来判断作业是不是发生了 failover,进行报警。

Thanks,
Zhu

tison <wa...@gmail.com> 于2021年2月5日周五 下午12:10写道:

> 目前想到的是加一个调度器插件,在重启事件那边 hook 一下。
>
> 正常的重启流程貌似没有其他 hook 点了,抄送一下这方面的专家(in cc)看看有没有其他意见。
>
> Best,
> tison.
>
>
> 熊云昆 <xi...@163.com> 于2021年2月5日周五 上午11:30写道:
>
>>
>> super.getRuntimeContext().getAttemptNumber()试试这个方法获取重启次数试试,如果没有重启过是0,反之每重启一次就会加1
>>
>>
>> | |
>> 熊云昆
>> |
>> |
>> 邮箱:xiongyunkun@163.com
>> |
>>
>> 签名由 网易邮箱大师 定制
>>
>> 在2021年02月04日 11:42,op 写道:
>> 你好,我们下游不是所有需求都会去重,开销有点大。。。
>>
>>
>>
>>
>> ------------------&nbsp;原始邮件&nbsp;------------------
>> 发件人:
>>                                                   "user-zh"
>>                                                                     <
>> zapjone@163.com&gt;;
>> 发送时间:&nbsp;2021年2月4日(星期四) 中午11:31
>> 收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;
>>
>> 主题:&nbsp;Re:回复: 如何在程序里面判断作业是否是重启了
>>
>>
>>
>>
>>
>>
>> 下游数据做好幂等操作,就不怕重复操作了。。
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> 在 2021-02-04 11:26:56,"op" <520075694@qq.com&gt; 写道:
>> &gt;重启可能会导致数据重发,想加个告警
>> &gt;
>> &gt;
>> &gt;
>> &gt;
>> &gt;------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
>> &gt;发件人:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> "user-zh"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
>> <wander4096@gmail.com&amp;gt;;
>> &gt;发送时间:&amp;nbsp;2021年2月4日(星期四) 中午11:11
>> &gt;收件人:&amp;nbsp;"user-zh"<user-zh@flink.apache.org&amp;gt;;
>> &gt;
>> &gt;主题:&amp;nbsp;Re: 如何在程序里面判断作业是否是重启了
>> &gt;
>> &gt;
>> &gt;
>> &gt;业务上的需求是什么?
>> &gt;
>> &gt;Best,
>> &gt;tison.
>> &gt;
>> &gt;
>> &gt;op <520075694@qq.com&amp;gt; 于2021年2月4日周四 上午11:04写道:
>> &gt;
>> &gt;&amp;gt; 大家好:
>> &gt;&amp;gt; &amp;amp;nbsp;
>> &gt;&amp;gt;
>> &amp;amp;nbsp;我在程序里通过RestartStrategies设置了重启策略,现在想在算子里面判断是否是触发了Restart,请问有哪些方法能实现呢?
>
>

Re: 如何在程序里面判断作业是否是重启了

Posted by tison <wa...@gmail.com>.
目前想到的是加一个调度器插件,在重启事件那边 hook 一下。

正常的重启流程貌似没有其他 hook 点了,抄送一下这方面的专家(in cc)看看有没有其他意见。

Best,
tison.


熊云昆 <xi...@163.com> 于2021年2月5日周五 上午11:30写道:

>
> super.getRuntimeContext().getAttemptNumber()试试这个方法获取重启次数试试,如果没有重启过是0,反之每重启一次就会加1
>
>
> | |
> 熊云昆
> |
> |
> 邮箱:xiongyunkun@163.com
> |
>
> 签名由 网易邮箱大师 定制
>
> 在2021年02月04日 11:42,op 写道:
> 你好,我们下游不是所有需求都会去重,开销有点大。。。
>
>
>
>
> ------------------&nbsp;原始邮件&nbsp;------------------
> 发件人:
>                                                   "user-zh"
>                                                                     <
> zapjone@163.com&gt;;
> 发送时间:&nbsp;2021年2月4日(星期四) 中午11:31
> 收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;
>
> 主题:&nbsp;Re:回复: 如何在程序里面判断作业是否是重启了
>
>
>
>
>
>
> 下游数据做好幂等操作,就不怕重复操作了。。
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> 在 2021-02-04 11:26:56,"op" <520075694@qq.com&gt; 写道:
> &gt;重启可能会导致数据重发,想加个告警
> &gt;
> &gt;
> &gt;
> &gt;
> &gt;------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
> &gt;发件人:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> "user-zh"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> <wander4096@gmail.com&amp;gt;;
> &gt;发送时间:&amp;nbsp;2021年2月4日(星期四) 中午11:11
> &gt;收件人:&amp;nbsp;"user-zh"<user-zh@flink.apache.org&amp;gt;;
> &gt;
> &gt;主题:&amp;nbsp;Re: 如何在程序里面判断作业是否是重启了
> &gt;
> &gt;
> &gt;
> &gt;业务上的需求是什么?
> &gt;
> &gt;Best,
> &gt;tison.
> &gt;
> &gt;
> &gt;op <520075694@qq.com&amp;gt; 于2021年2月4日周四 上午11:04写道:
> &gt;
> &gt;&amp;gt; 大家好:
> &gt;&amp;gt; &amp;amp;nbsp;
> &gt;&amp;gt;
> &amp;amp;nbsp;我在程序里通过RestartStrategies设置了重启策略,现在想在算子里面判断是否是触发了Restart,请问有哪些方法能实现呢?

回复:如何在程序里面判断作业是否是重启了

Posted by 熊云昆 <xi...@163.com>.
super.getRuntimeContext().getAttemptNumber()试试这个方法获取重启次数试试,如果没有重启过是0,反之每重启一次就会加1


| |
熊云昆
|
|
邮箱:xiongyunkun@163.com
|

签名由 网易邮箱大师 定制

在2021年02月04日 11:42,op 写道:
你好,我们下游不是所有需求都会去重,开销有点大。。。




------------------&nbsp;原始邮件&nbsp;------------------
发件人:                                                                                                                        "user-zh"                                                                                    <zapjone@163.com&gt;;
发送时间:&nbsp;2021年2月4日(星期四) 中午11:31
收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;

主题:&nbsp;Re:回复: 如何在程序里面判断作业是否是重启了






下游数据做好幂等操作,就不怕重复操作了。。














在 2021-02-04 11:26:56,"op" <520075694@qq.com&gt; 写道:
&gt;重启可能会导致数据重发,想加个告警
&gt;
&gt;
&gt;
&gt;
&gt;------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
&gt;发件人:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "user-zh"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <wander4096@gmail.com&amp;gt;;
&gt;发送时间:&amp;nbsp;2021年2月4日(星期四) 中午11:11
&gt;收件人:&amp;nbsp;"user-zh"<user-zh@flink.apache.org&amp;gt;;
&gt;
&gt;主题:&amp;nbsp;Re: 如何在程序里面判断作业是否是重启了
&gt;
&gt;
&gt;
&gt;业务上的需求是什么?
&gt;
&gt;Best,
&gt;tison.
&gt;
&gt;
&gt;op <520075694@qq.com&amp;gt; 于2021年2月4日周四 上午11:04写道:
&gt;
&gt;&amp;gt; 大家好:
&gt;&amp;gt; &amp;amp;nbsp;
&gt;&amp;gt; &amp;amp;nbsp;我在程序里通过RestartStrategies设置了重启策略,现在想在算子里面判断是否是触发了Restart,请问有哪些方法能实现呢?

回复: 如何在程序里面判断作业是否是重启了

Posted by op <52...@qq.com>.
你好,我们下游不是所有需求都会去重,开销有点大。。。




------------------&nbsp;原始邮件&nbsp;------------------
发件人:                                                                                                                        "user-zh"                                                                                    <zapjone@163.com&gt;;
发送时间:&nbsp;2021年2月4日(星期四) 中午11:31
收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;

主题:&nbsp;Re:回复: 如何在程序里面判断作业是否是重启了






下游数据做好幂等操作,就不怕重复操作了。。














在 2021-02-04 11:26:56,"op" <520075694@qq.com&gt; 写道:
&gt;重启可能会导致数据重发,想加个告警
&gt;
&gt;
&gt;
&gt;
&gt;------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
&gt;发件人:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "user-zh"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <wander4096@gmail.com&amp;gt;;
&gt;发送时间:&amp;nbsp;2021年2月4日(星期四) 中午11:11
&gt;收件人:&amp;nbsp;"user-zh"<user-zh@flink.apache.org&amp;gt;;
&gt;
&gt;主题:&amp;nbsp;Re: 如何在程序里面判断作业是否是重启了
&gt;
&gt;
&gt;
&gt;业务上的需求是什么?
&gt;
&gt;Best,
&gt;tison.
&gt;
&gt;
&gt;op <520075694@qq.com&amp;gt; 于2021年2月4日周四 上午11:04写道:
&gt;
&gt;&amp;gt; 大家好:
&gt;&amp;gt; &amp;amp;nbsp;
&gt;&amp;gt; &amp;amp;nbsp;我在程序里通过RestartStrategies设置了重启策略,现在想在算子里面判断是否是触发了Restart,请问有哪些方法能实现呢?

Re:回复: 如何在程序里面判断作业是否是重启了

Posted by zapjone <za...@163.com>.


下游数据做好幂等操作,就不怕重复操作了。。














在 2021-02-04 11:26:56,"op" <52...@qq.com> 写道:
>重启可能会导致数据重发,想加个告警
>
>
>
>
>------------------&nbsp;原始邮件&nbsp;------------------
>发件人:                                                                                                                        "user-zh"                                                                                    <wander4096@gmail.com&gt;;
>发送时间:&nbsp;2021年2月4日(星期四) 中午11:11
>收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;
>
>主题:&nbsp;Re: 如何在程序里面判断作业是否是重启了
>
>
>
>业务上的需求是什么?
>
>Best,
>tison.
>
>
>op <520075694@qq.com&gt; 于2021年2月4日周四 上午11:04写道:
>
>&gt; 大家好:
>&gt; &amp;nbsp;
>&gt; &amp;nbsp;我在程序里通过RestartStrategies设置了重启策略,现在想在算子里面判断是否是触发了Restart,请问有哪些方法能实现呢?

回复: 如何在程序里面判断作业是否是重启了

Posted by op <52...@qq.com>.
重启可能会导致数据重发,想加个告警




------------------&nbsp;原始邮件&nbsp;------------------
发件人:                                                                                                                        "user-zh"                                                                                    <wander4096@gmail.com&gt;;
发送时间:&nbsp;2021年2月4日(星期四) 中午11:11
收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;

主题:&nbsp;Re: 如何在程序里面判断作业是否是重启了



业务上的需求是什么?

Best,
tison.


op <520075694@qq.com&gt; 于2021年2月4日周四 上午11:04写道:

&gt; 大家好:
&gt; &amp;nbsp;
&gt; &amp;nbsp;我在程序里通过RestartStrategies设置了重启策略,现在想在算子里面判断是否是触发了Restart,请问有哪些方法能实现呢?

Re: 如何在程序里面判断作业是否是重启了

Posted by tison <wa...@gmail.com>.
业务上的需求是什么?

Best,
tison.


op <52...@qq.com> 于2021年2月4日周四 上午11:04写道:

> 大家好:
> &nbsp;
> &nbsp;我在程序里通过RestartStrategies设置了重启策略,现在想在算子里面判断是否是触发了Restart,请问有哪些方法能实现呢?