|
如题,这个问题之前遇到过,昨天晚上又来一次。
首先我是flink1.12的standalone集群,通过公司的pass平台保证单机上的jm和tm失败后自动重启。
问题表现是,我停止任务,然后基于保存点重启任务。然后WEB-UI出现卡顿转圈,过一会报警显示某个容器的JM/TM失败自动重启。此期间WEB-UI转圈,我一直刷新,会出现突然一瞬间显示(应该是自动pass重启了),然后再刷新就继续转圈了(是某容器又失败,目前来看不是同一台容器一直失败,而是每个容器都轮着来失败)。
现象如上,说下我的分析。基本上大概可以知道原因是某容器失败,然后集群自动重选leader,然后自动《恢复原先任务》,这个步骤可能就会导致JM或TM失败,具体JM还是TM我不好确定了。因此会无限循环(恢复任务导致失败,然后pass重启,然后重复)。
至于为什么恢复任务会导致失败,这和之前我提到过的另一个问题也可能有关。即恢复任务的说话,web
ui卡顿,估计是JM瞬间压力高。但这种情况并不总是导致失败,我也遇到过卡顿后成功的(以前经历)。但有个现象是:我的任务,比如job1,会存在多个job1在web-ui界面出现,都处于initialize阶段。按照原先经历,过几十秒后其中一个会变为running状态继续正常
,其他任务会消失掉(不清楚原因,可能是client提交端重复提交?然后其中几个任务因为重复自动消失;也可能是否可能会出现瞬间的网络分区?比如5台机器各自leader,都恢复了任务?都是瞎猜哈)。
希望懂flink JM/TM通信以及底层原理的大佬们分析下。
|