Hi

首先先判断作业是否在不断地failover,是否有“maximum parallelism” 
相关的异常,如果有,说明因为改了并发度而不兼容,实际作业一直都没有从checkpoint正常恢复。

如果作业成功地从checkpoint恢复了,再判断是不是因为task端正在因为正在改并发而导致恢复数据中,如果你的state比较大,这一步骤可能会比较耗时,一般这种情况是source端消费了数据,但是无法向下游发送,整个作业看上去像是一直卡在那边。可以通过task端的jstak看调用栈,看是否有restore相关的栈hang住。

如果以上都不是,那请自行jstack看一下source和下游task的CPU在进行什么操作,再做之后的判断。

祝好
唐云


From: "wangl...@geekplus.com.cn" <wangl...@geekplus.com.cn>
Date: Tuesday, November 5, 2019 at 11:48 AM
To: user <user@flink.apache.org>
Subject: 从 state 中恢复数据,更改 yarn container 个数会有影响吗


从 RocketMQ 中消费数据做处理。
代码中最大的并行度为 8, 提交任务时指定 -ys 4 ,会自动分配 2 个 container 作为 taskMgr
运行一段时间后以 savepoint 方式停止。
再从 savepoint 恢复,此时指定 -ys 2 , 会分配 4 个container 作为 taskMgr , 但任务提交后程序不从 RocketMQ 
消费数据了,消费 TPS 一直是 0,这是什么原因呢?


谢谢,
王磊


________________________________
wangl...@geekplus.com.cn

Reply via email to