回复: flink基于yarn的HA次数无效,以及HA拉起的任务是否可以重用state

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

回复: flink基于yarn的HA次数无效,以及HA拉起的任务是否可以重用state

MuChen
hi,jiliang1993:


我的理解还是受yarn的yarn.resourcemanager.am.max-attempts还是有效的。
参数yarn.application-attempt-failures-validity-interval应该只是限制了达成attempts一次计数的条件。以默认值10秒为例,在距离上次启动10秒钟内的失败重试会让attempts计数加1,而10秒后的失败重试attempts的计数是不变的。当attempts计数达到min(yarn中配置的yarn.resourcemanager.am.max-attempts,flink中配置的yarn.application-attempts)时,yarn就不再对该任务进行失败重试了。
如有理解不当,请大佬们指正!


Best,
MuChen.


------------------ 原始邮件 ------------------
发件人:&nbsp;"jiliang1993"<[hidden email]&gt;;
发送时间:&nbsp;2020年7月1日(星期三) 晚上10:56
收件人:&nbsp;"MuChen"<[hidden email]&gt;;

主题:&nbsp;回复: flink基于yarn的HA次数无效,以及HA拉起的任务是否可以重用state



意思是只要配置了ha就会不受yarn的attempt 控制对吗?





------------------ 原始邮件 ------------------
发件人: "MuChen" <[hidden email]&gt; <"MuChen" <[hidden email]&gt;&gt;
发送时间: 2020年7月1日 22:48
收件人: jiliang1993 <[hidden email]&gt;
主题: 回复: flink基于yarn的HA次数无效,以及HA拉起的任务是否可以重用state



hi,王松: 受教了,多谢指点! Best, MuChen. ------------------&amp;nbsp;原始邮件&amp;nbsp;------------------ 发件人:&amp;nbsp;"王松"<[hidden email]&amp;gt;; 发送时间:&amp;nbsp;2020年7月1日(星期三) 晚上8:17 收件人:&amp;nbsp;"user-zh"<[hidden email]&amp;gt;; 主题:&amp;nbsp;Re: flink基于yarn的HA次数无效,以及HA拉起的任务是否可以重用state hi, muchen 1. yarn.application-attempts 这个参数与另外一个参数有关系:yarn.application-attempt-failures-validity-interval,大概意思是需要在设置的这个interval内失败重试多少次,才认为flink job是失败的,如果超过这个interval,就会重新开始计数。打个比方,yarn.application-attempts: 2,yarn.application-attempt-failures-validity-interval = 10000(默认值,10s),只有在10s内 flink job 失败重启2次才会真正的失败。 2. 如果配置了checkpoint是会重用上次任务失败的state。 这是我个人的理解,有疑问大家一起讨论 MuChen <[hidden email]&amp;gt; 于2020年7月1日周三 下午7:50写道: &amp;gt; hi,all: &amp;gt; &amp;gt; 我根据这篇博客https://blog.csdn.net/cndotaci/article/details/106870413 &amp;gt; 的介绍,配置了flink基于yarn的高可用,测试时发现配置的任务失败重试2次没有生效,我测试到第6次时,任务仍然能够被yarn拉起。 &amp;gt; &amp;gt; 请问各位大佬 &amp;gt; &amp;gt; 1. 下面配置中的重试次数为什么没有生效? &amp;gt; &amp;gt; 2. 通过HA拉起的任务,是否可以重用上次任务失败时的state? &amp;gt; &amp;gt; flink版本:1.10.0 &amp;gt; &amp;gt; flink-conf.yaml配置: &amp;gt; $ grep -v ^# flink-conf.yaml |grep -v ^$ jobmanager.rpc.address: localhost &amp;gt; jobmanager.rpc.port: 6123 jobmanager.heap.size: 1024m &amp;gt; taskmanager.memory.process.size: 1568m taskmanager.numberOfTaskSlots: 1 &amp;gt; parallelism.default: 1 high-availability: zookeeper &amp;gt; high-availability.storageDir: hdfs:///flink/ha/ &amp;gt; high-availability.zookeeper.quorum: &amp;gt; uhadoop-op3raf-master1,uhadoop-op3raf-master2,uhadoop-op3raf-core1 &amp;gt; state.checkpoints.dir: hdfs:///flink/checkpoint state.savepoints.dir: &amp;gt; hdfs:///flink/flink-savepoints state.checkpoints.num-retained:60 &amp;gt; state.backend.incremental: true jobmanager.execution.failover-strategy: &amp;gt; region jobmanager.archive.fs.dir: hdfs:///flink/flink-jobs/ &amp;gt; historyserver.web.port: 8082 historyserver.archive.fs.dir: &amp;gt; hdfs:///flink/flink-jobs/ historyserver.archive.fs.refresh-interval: 10000 &amp;gt; # HA重试次数 yarn.application-attempts: 2 &amp;gt; ssh到jm节点,手动kill任务的操作日志: &amp;gt; [root@uhadoop-op3raf-task48 ~]# jps 34785 YarnTaskExecutorRunner 16853 &amp;gt; YarnTaskExecutorRunner 17527 PrestoServer 33289 YarnTaskExecutorRunner &amp;gt; 18026 YarnJobClusterEntrypoint 20283 Jps 39599 NodeManager &amp;gt; [root@uhadoop-op3raf-task48 ~]# kill -9 18026 [root@uhadoop-op3raf-task48 &amp;gt; ~]# jps 34785 YarnTaskExecutorRunner 16853 -- process information &amp;gt; unavailable 17527 PrestoServer 21383 Jps 33289 YarnTaskExecutorRunner 20412 &amp;gt; YarnJobClusterEntrypoint 39599 NodeManager [root@uhadoop-op3raf-task48 &amp;gt; ~]# kill -9 20412 [root@uhadoop-op3raf-task48 ~]# jps 34785 &amp;gt; YarnTaskExecutorRunner 21926 YarnJobClusterEntrypoint 23207 Jps 17527 &amp;gt; PrestoServer 33289 YarnTaskExecutorRunner 39599 NodeManager &amp;gt; [root@uhadoop-op3raf-task48 ~]# kill -9 21926 [root@uhadoop-op3raf-task48 &amp;gt; ~]# jps 34785 YarnTaskExecutorRunner 23318 YarnJobClusterEntrypoint 26279 &amp;gt; Jps 17527 PrestoServer 33289 YarnTaskExecutorRunner 39599 NodeManager &amp;gt; [root@uhadoop-op3raf-task48 ~]# kill -9 23318
Reply | Threaded
Open this post in threaded view
|

Re: 回复: flink基于yarn的HA次数无效,以及HA拉起的任务是否可以重用state

liangji
我之前配置了HA,也配置了flink中yarn-attempts=2,结果是kill jm进程可以无限重启



--
Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: flink基于yarn的HA次数无效,以及HA拉起的任务是否可以重用state

Paul Lam
判断 Attempt 失败的标准是 Flink 通过 AMRMClientAsyncImpl 通知 YARN RM Application 失败并注销自己,所以 kill jm 是不算的。

Best,
Paul Lam

> 2020年7月2日 11:09,liangji <[hidden email]> 写道:
>
> 我之前配置了HA,也配置了flink中yarn-attempts=2,结果是kill jm进程可以无限重启
>
>
>
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/