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 yanggang_it_job <ya...@163.com> on 2020/04/26 02:57:41 UTC

任务假死

1、Flink-UI截图
我任务的启动配置是 -p 200 -ys 5,也就是说会有40个TM运行,之前正常运行的时候确实是40个TM,而现在只有1个TM在运行;
同时通过观察数据的同步时间,任务已经在两天前停止写入数据了,但是查看任务的状态却是RUNNING;
我的理解是当tm申请失败,那么当前任务就会退出并把状态设置为FINISHED,但是真实情况却是上面描述那样。
请问为什么会出现这种情况呢?


thanks




回复:任务假死

Posted by 酷酷的浑蛋 <ap...@163.com>.
同问,我这里也会经常出现这种情况,我现在是写的代码自动kill,这是bug吗?
| |
apache22
邮箱:apache22@163.com
|

Signature is customized by Netease Mail Master

在2020年04月26日 11:01,Zhefu PENG 写道:
图好像挂了看不到。是不是和这两个场景描述比较相似

[1] http://apache-flink.147419.n8.nabble.com/flink-kafka-td2386.html
[2]  http://apache-flink.147419.n8.nabble.com/Flink-Kafka-td2390.html
On Sun, Apr 26, 2020 at 10:58 yanggang_it_job <ya...@163.com>
wrote:

> 1、Flink-UI截图
> 我任务的启动配置是 -p 200 -ys 5,也就是说会有40个TM运行,之前正常运行的时候确实是40个TM,而现在只有1个TM在运行;
> 同时通过观察数据的同步时间,任务已经在两天前停止写入数据了,但是查看任务的状态却是RUNNING;
> 我的理解是当tm申请失败,那么当前任务就会退出并把状态设置为FINISHED,但是真实情况却是上面描述那样。
> 请问为什么会出现这种情况呢?
>
> thanks
>
>
>
>
>
>

回复: 任务假死

Posted by "蒋佳成(Jiacheng Jiang)" <92...@qq.com>.
java.lang.OutOfMemoryError: unable to create newnative thread。是哪种内存溢出了?是Xmx不够还是MaxDirectMemorySize不够?




------------------&nbsp;原始邮件&nbsp;------------------
发件人:&nbsp;"LakeShen"<shenleifighting@gmail.com&gt;;
发送时间:&nbsp;2020年4月29日(星期三) 上午10:39
收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;

主题:&nbsp;Re: 任务假死



Hi yanggang,

看了你的描述,我大概知道问题在哪了。首先,我觉得你的启动配置可以优化下,你的配置 -p 200 -ys 5,

也就是说,你的 Flink 任务默认并发是 200,然后每个 TaskManger 有五个槽。

每个槽的内存是一个 TaskManager 的内存的 1 / 5。

如果默认的 TaskManager 内存是1 G 话,相当于你一个槽里面只有 200 M,这样给 JVM 堆栈真正的内存就会更少。

从你的日志中,也出现了 java.lang.OutOfMemoryError: unable to create newnative
thread。因为在 Flink 中,有很多地方需要创建 Thread,

一个 Thread 在 JVM,需要有一定的栈空间,默认 1M , 现在应该是由于槽的内存太小,导致线程栈没有内存分配。

Flink 任务 Task 容错恢复时,需要将状态从 Running -&gt; Canceling -&gt; Canceled,最底层需要启动一个后台线程去
cancel.

但是现在由于不能够创建线程,所以会有 Task 存存在 hang 住(假死)情况,也就是一直显示 Canceling.

个人建议将参数改一下: -p 64 -ytm 2048,之后在观察一下

Best,
LakeShen





Weihua Hu <huweihua.ckl@gmail.com&gt; 于2020年4月27日周一 下午6:27写道:

&gt; 你配置的 jobmanager.execution.failover-strategy 是什么呢?如果是 region 的话,作业不会因为 Task
&gt; 失败状态变为异常。
&gt; 可以在WEB ui 进入作业拓扑查看单个 task 的状态
&gt;
&gt;
&gt; Best
&gt; Weihua Hu
&gt;
&gt; &gt; 2020年4月26日 11:43,yanggang_it_job <yanggang_it_job@163.com&gt; 写道:
&gt; &gt;
&gt; &gt; 感谢您的回复,这个问题和您刚才给我的场景有些相似,但还是有些许差异。
&gt; &gt; 刚才试了几种方式,图片好像都无法访问。
&gt; &gt; 下面我详细介绍下异常情况
&gt; &gt; 1、我的任务是从三个kafka读取,然后通过onGroup实现left
&gt; join语义,然后定义了一个滑动窗口(600,10),最后通过一个CoGroupFunction进行处理具体的数据
&gt; &gt; 2、异常出现在其中一个CoGruopFunction(Window(TumblingEventTimeWindows(600000),
&gt; EventTimeTrigger, CoGroupWindowFunction) (15/200))报OOM,异常栈如下
&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java.lang.OutOfMemoryError: unable to create newnative thread
&gt; &gt;&nbsp;&nbsp;&nbsp; at java.lang.Thread.start0(NativeMethod)
&gt; &gt;&nbsp;&nbsp;&nbsp; at java.lang.Thread.start(Thread.java:717)
&gt; &gt;&nbsp;&nbsp;&nbsp; at
&gt; java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:957)
&gt; &gt;&nbsp;&nbsp;&nbsp; at
&gt; java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1378)
&gt; &gt;&nbsp;&nbsp;&nbsp; at
&gt; org.apache.flink.streaming.runtime.tasks.StreamTask$CheckpointingOperation.executeCheckpointing(StreamTask.java:1237)
&gt; &gt;&nbsp;&nbsp;&nbsp; at
&gt; org.apache.flink.streaming.runtime.tasks.StreamTask.checkpointState(StreamTask.java:872)
&gt; &gt;&nbsp;&nbsp;&nbsp; at
&gt; org.apache.flink.streaming.runtime.tasks.StreamTask.performCheckpoint(StreamTask.java:777)
&gt; &gt;&nbsp;&nbsp;&nbsp; at
&gt; org.apache.flink.streaming.runtime.tasks.StreamTask.triggerCheckpointOnBarrier(StreamTask.java:708)
&gt; &gt;&nbsp;&nbsp;&nbsp; at org.apache.flink.streaming.runtime.io
&gt; .CheckpointBarrierHandler.notifyCheckpoint(CheckpointBarrierHandler.java:88)
&gt; &gt;&nbsp;&nbsp;&nbsp; at org.apache.flink.streaming.runtime.io
&gt; .CheckpointBarrierTracker.processBarrier(CheckpointBarrierTracker.java:137)
&gt; &gt;&nbsp;&nbsp;&nbsp; at org.apache.flink.streaming.runtime.io
&gt; .CheckpointedInputGate.pollNext(CheckpointedInputGate.java:155)
&gt; &gt;&nbsp;&nbsp;&nbsp; at org.apache.flink.streaming.runtime.io
&gt; .StreamTaskNetworkInput.pollNextNullable(StreamTaskNetworkInput.java:102)
&gt; &gt;&nbsp;&nbsp;&nbsp; at org.apache.flink.streaming.runtime.io
&gt; .StreamTaskNetworkInput.pollNextNullable(StreamTaskNetworkInput.java:47)
&gt; &gt;&nbsp;&nbsp;&nbsp; at org.apache.flink.streaming.runtime.io
&gt; .StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:135)
&gt; &gt;&nbsp;&nbsp;&nbsp; at
&gt; org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:279)
&gt; &gt;&nbsp;&nbsp;&nbsp; at
&gt; org.apache.flink.streaming.runtime.tasks.StreamTask.run(StreamTask.java:301)
&gt; &gt;&nbsp;&nbsp;&nbsp; at
&gt; org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:406)
&gt; &gt;&nbsp;&nbsp;&nbsp; at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:705)
&gt; &gt;&nbsp;&nbsp;&nbsp; at org.apache.flink.runtime.taskmanager.Task.run(Task.java:530)
&gt; &gt;&nbsp;&nbsp;&nbsp; at java.lang.Thread.run(Thread.java:748)
&gt; &gt;
&gt; &gt; 3、除了这个算子vertice为FAILED,其他vertice都为CANCELED,JobManager状态为RUNNING
&gt; &gt;
&gt; &gt;
&gt; &gt; 正常情况下出现这个错,JM会找一台合适的机器重新把TM启起来或者多次尝试后,任务退出。
&gt; &gt; 但是现在任务的运行状态为RUNNING,虽然为RUNNING但是也不写入数据到下游存储。
&gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; &gt; thanks
&gt; &gt;
&gt; &gt;
&gt; &gt; 在 2020-04-26 11:01:04,"Zhefu PENG" <pengzf0802@gmail.com&gt; 写道:
&gt; &gt;&gt; 图好像挂了看不到。是不是和这两个场景描述比较相似
&gt; &gt;&gt;
&gt; &gt;&gt; [1] http://apache-flink.147419.n8.nabble.com/flink-kafka-td2386.html
&gt; &gt;&gt; [2]&nbsp; http://apache-flink.147419.n8.nabble.com/Flink-Kafka-td2390.html
&gt; &gt;&gt; On Sun, Apr 26, 2020 at 10:58 yanggang_it_job <yanggang_it_job@163.com&gt;
&gt; &gt;&gt; wrote:
&gt; &gt;&gt;
&gt; &gt;&gt;&gt; 1、Flink-UI截图
&gt; &gt;&gt;&gt; 我任务的启动配置是 -p 200 -ys 5,也就是说会有40个TM运行,之前正常运行的时候确实是40个TM,而现在只有1个TM在运行;
&gt; &gt;&gt;&gt; 同时通过观察数据的同步时间,任务已经在两天前停止写入数据了,但是查看任务的状态却是RUNNING;
&gt; &gt;&gt;&gt; 我的理解是当tm申请失败,那么当前任务就会退出并把状态设置为FINISHED,但是真实情况却是上面描述那样。
&gt; &gt;&gt;&gt; 请问为什么会出现这种情况呢?
&gt; &gt;&gt;&gt;
&gt; &gt;&gt;&gt; thanks
&gt; &gt;&gt;&gt;
&gt; &gt;&gt;&gt;
&gt; &gt;&gt;&gt;
&gt; &gt;&gt;&gt;
&gt; &gt;&gt;&gt;
&gt; &gt;&gt;&gt;
&gt;
&gt;

Re: 任务假死

Posted by LakeShen <sh...@gmail.com>.
Hi yanggang,

看了你的描述,我大概知道问题在哪了。首先,我觉得你的启动配置可以优化下,你的配置 -p 200 -ys 5,

也就是说,你的 Flink 任务默认并发是 200,然后每个 TaskManger 有五个槽。

每个槽的内存是一个 TaskManager 的内存的 1 / 5。

如果默认的 TaskManager 内存是1 G 话,相当于你一个槽里面只有 200 M,这样给 JVM 堆栈真正的内存就会更少。

从你的日志中,也出现了 java.lang.OutOfMemoryError: unable to create newnative
thread。因为在 Flink 中,有很多地方需要创建 Thread,

一个 Thread 在 JVM,需要有一定的栈空间,默认 1M , 现在应该是由于槽的内存太小,导致线程栈没有内存分配。

Flink 任务 Task 容错恢复时,需要将状态从 Running -> Canceling -> Canceled,最底层需要启动一个后台线程去
cancel.

但是现在由于不能够创建线程,所以会有 Task 存存在 hang 住(假死)情况,也就是一直显示 Canceling.

个人建议将参数改一下: -p 64 -ytm 2048,之后在观察一下

Best,
LakeShen





Weihua Hu <hu...@gmail.com> 于2020年4月27日周一 下午6:27写道:

> 你配置的 jobmanager.execution.failover-strategy 是什么呢?如果是 region 的话,作业不会因为 Task
> 失败状态变为异常。
> 可以在WEB ui 进入作业拓扑查看单个 task 的状态
>
>
> Best
> Weihua Hu
>
> > 2020年4月26日 11:43,yanggang_it_job <ya...@163.com> 写道:
> >
> > 感谢您的回复,这个问题和您刚才给我的场景有些相似,但还是有些许差异。
> > 刚才试了几种方式,图片好像都无法访问。
> > 下面我详细介绍下异常情况
> > 1、我的任务是从三个kafka读取,然后通过onGroup实现left
> join语义,然后定义了一个滑动窗口(600,10),最后通过一个CoGroupFunction进行处理具体的数据
> > 2、异常出现在其中一个CoGruopFunction(Window(TumblingEventTimeWindows(600000),
> EventTimeTrigger, CoGroupWindowFunction) (15/200))报OOM,异常栈如下
> >      java.lang.OutOfMemoryError: unable to create newnative thread
> >    at java.lang.Thread.start0(NativeMethod)
> >    at java.lang.Thread.start(Thread.java:717)
> >    at
> java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:957)
> >    at
> java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1378)
> >    at
> org.apache.flink.streaming.runtime.tasks.StreamTask$CheckpointingOperation.executeCheckpointing(StreamTask.java:1237)
> >    at
> org.apache.flink.streaming.runtime.tasks.StreamTask.checkpointState(StreamTask.java:872)
> >    at
> org.apache.flink.streaming.runtime.tasks.StreamTask.performCheckpoint(StreamTask.java:777)
> >    at
> org.apache.flink.streaming.runtime.tasks.StreamTask.triggerCheckpointOnBarrier(StreamTask.java:708)
> >    at org.apache.flink.streaming.runtime.io
> .CheckpointBarrierHandler.notifyCheckpoint(CheckpointBarrierHandler.java:88)
> >    at org.apache.flink.streaming.runtime.io
> .CheckpointBarrierTracker.processBarrier(CheckpointBarrierTracker.java:137)
> >    at org.apache.flink.streaming.runtime.io
> .CheckpointedInputGate.pollNext(CheckpointedInputGate.java:155)
> >    at org.apache.flink.streaming.runtime.io
> .StreamTaskNetworkInput.pollNextNullable(StreamTaskNetworkInput.java:102)
> >    at org.apache.flink.streaming.runtime.io
> .StreamTaskNetworkInput.pollNextNullable(StreamTaskNetworkInput.java:47)
> >    at org.apache.flink.streaming.runtime.io
> .StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:135)
> >    at
> org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:279)
> >    at
> org.apache.flink.streaming.runtime.tasks.StreamTask.run(StreamTask.java:301)
> >    at
> org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:406)
> >    at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:705)
> >    at org.apache.flink.runtime.taskmanager.Task.run(Task.java:530)
> >    at java.lang.Thread.run(Thread.java:748)
> >
> > 3、除了这个算子vertice为FAILED,其他vertice都为CANCELED,JobManager状态为RUNNING
> >
> >
> > 正常情况下出现这个错,JM会找一台合适的机器重新把TM启起来或者多次尝试后,任务退出。
> > 但是现在任务的运行状态为RUNNING,虽然为RUNNING但是也不写入数据到下游存储。
> >
> >
> >
> >
> >
> >
> >
> > thanks
> >
> >
> > 在 2020-04-26 11:01:04,"Zhefu PENG" <pe...@gmail.com> 写道:
> >> 图好像挂了看不到。是不是和这两个场景描述比较相似
> >>
> >> [1] http://apache-flink.147419.n8.nabble.com/flink-kafka-td2386.html
> >> [2]  http://apache-flink.147419.n8.nabble.com/Flink-Kafka-td2390.html
> >> On Sun, Apr 26, 2020 at 10:58 yanggang_it_job <ya...@163.com>
> >> wrote:
> >>
> >>> 1、Flink-UI截图
> >>> 我任务的启动配置是 -p 200 -ys 5,也就是说会有40个TM运行,之前正常运行的时候确实是40个TM,而现在只有1个TM在运行;
> >>> 同时通过观察数据的同步时间,任务已经在两天前停止写入数据了,但是查看任务的状态却是RUNNING;
> >>> 我的理解是当tm申请失败,那么当前任务就会退出并把状态设置为FINISHED,但是真实情况却是上面描述那样。
> >>> 请问为什么会出现这种情况呢?
> >>>
> >>> thanks
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
>
>

Re: 任务假死

Posted by Weihua Hu <hu...@gmail.com>.
你配置的 jobmanager.execution.failover-strategy 是什么呢?如果是 region 的话,作业不会因为 Task 失败状态变为异常。
可以在WEB ui 进入作业拓扑查看单个 task 的状态


Best
Weihua Hu

> 2020年4月26日 11:43,yanggang_it_job <ya...@163.com> 写道:
> 
> 感谢您的回复,这个问题和您刚才给我的场景有些相似,但还是有些许差异。
> 刚才试了几种方式,图片好像都无法访问。
> 下面我详细介绍下异常情况
> 1、我的任务是从三个kafka读取,然后通过onGroup实现left join语义,然后定义了一个滑动窗口(600,10),最后通过一个CoGroupFunction进行处理具体的数据
> 2、异常出现在其中一个CoGruopFunction(Window(TumblingEventTimeWindows(600000), EventTimeTrigger, CoGroupWindowFunction) (15/200))报OOM,异常栈如下
>      java.lang.OutOfMemoryError: unable to create newnative thread
>    at java.lang.Thread.start0(NativeMethod)
>    at java.lang.Thread.start(Thread.java:717)
>    at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:957)
>    at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1378)
>    at org.apache.flink.streaming.runtime.tasks.StreamTask$CheckpointingOperation.executeCheckpointing(StreamTask.java:1237)
>    at org.apache.flink.streaming.runtime.tasks.StreamTask.checkpointState(StreamTask.java:872)
>    at org.apache.flink.streaming.runtime.tasks.StreamTask.performCheckpoint(StreamTask.java:777)
>    at org.apache.flink.streaming.runtime.tasks.StreamTask.triggerCheckpointOnBarrier(StreamTask.java:708)
>    at org.apache.flink.streaming.runtime.io.CheckpointBarrierHandler.notifyCheckpoint(CheckpointBarrierHandler.java:88)
>    at org.apache.flink.streaming.runtime.io.CheckpointBarrierTracker.processBarrier(CheckpointBarrierTracker.java:137)
>    at org.apache.flink.streaming.runtime.io.CheckpointedInputGate.pollNext(CheckpointedInputGate.java:155)
>    at org.apache.flink.streaming.runtime.io.StreamTaskNetworkInput.pollNextNullable(StreamTaskNetworkInput.java:102)
>    at org.apache.flink.streaming.runtime.io.StreamTaskNetworkInput.pollNextNullable(StreamTaskNetworkInput.java:47)
>    at org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:135)
>    at org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:279)
>    at org.apache.flink.streaming.runtime.tasks.StreamTask.run(StreamTask.java:301)
>    at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:406)
>    at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:705)
>    at org.apache.flink.runtime.taskmanager.Task.run(Task.java:530)
>    at java.lang.Thread.run(Thread.java:748)
> 
> 3、除了这个算子vertice为FAILED,其他vertice都为CANCELED,JobManager状态为RUNNING
> 
> 
> 正常情况下出现这个错,JM会找一台合适的机器重新把TM启起来或者多次尝试后,任务退出。
> 但是现在任务的运行状态为RUNNING,虽然为RUNNING但是也不写入数据到下游存储。
> 
> 
> 
> 
> 
> 
> 
> thanks
> 
> 
> 在 2020-04-26 11:01:04,"Zhefu PENG" <pe...@gmail.com> 写道:
>> 图好像挂了看不到。是不是和这两个场景描述比较相似
>> 
>> [1] http://apache-flink.147419.n8.nabble.com/flink-kafka-td2386.html
>> [2]  http://apache-flink.147419.n8.nabble.com/Flink-Kafka-td2390.html
>> On Sun, Apr 26, 2020 at 10:58 yanggang_it_job <ya...@163.com>
>> wrote:
>> 
>>> 1、Flink-UI截图
>>> 我任务的启动配置是 -p 200 -ys 5,也就是说会有40个TM运行,之前正常运行的时候确实是40个TM,而现在只有1个TM在运行;
>>> 同时通过观察数据的同步时间,任务已经在两天前停止写入数据了,但是查看任务的状态却是RUNNING;
>>> 我的理解是当tm申请失败,那么当前任务就会退出并把状态设置为FINISHED,但是真实情况却是上面描述那样。
>>> 请问为什么会出现这种情况呢?
>>> 
>>> thanks
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 


Re:Re: 任务假死

Posted by yanggang_it_job <ya...@163.com>.
感谢您的回复,这个问题和您刚才给我的场景有些相似,但还是有些许差异。
刚才试了几种方式,图片好像都无法访问。
下面我详细介绍下异常情况
1、我的任务是从三个kafka读取,然后通过onGroup实现left join语义,然后定义了一个滑动窗口(600,10),最后通过一个CoGroupFunction进行处理具体的数据
2、异常出现在其中一个CoGruopFunction(Window(TumblingEventTimeWindows(600000), EventTimeTrigger, CoGroupWindowFunction) (15/200))报OOM,异常栈如下
      java.lang.OutOfMemoryError: unable to create newnative thread
    at java.lang.Thread.start0(NativeMethod)
    at java.lang.Thread.start(Thread.java:717)
    at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:957)
    at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1378)
    at org.apache.flink.streaming.runtime.tasks.StreamTask$CheckpointingOperation.executeCheckpointing(StreamTask.java:1237)
    at org.apache.flink.streaming.runtime.tasks.StreamTask.checkpointState(StreamTask.java:872)
    at org.apache.flink.streaming.runtime.tasks.StreamTask.performCheckpoint(StreamTask.java:777)
    at org.apache.flink.streaming.runtime.tasks.StreamTask.triggerCheckpointOnBarrier(StreamTask.java:708)
    at org.apache.flink.streaming.runtime.io.CheckpointBarrierHandler.notifyCheckpoint(CheckpointBarrierHandler.java:88)
    at org.apache.flink.streaming.runtime.io.CheckpointBarrierTracker.processBarrier(CheckpointBarrierTracker.java:137)
    at org.apache.flink.streaming.runtime.io.CheckpointedInputGate.pollNext(CheckpointedInputGate.java:155)
    at org.apache.flink.streaming.runtime.io.StreamTaskNetworkInput.pollNextNullable(StreamTaskNetworkInput.java:102)
    at org.apache.flink.streaming.runtime.io.StreamTaskNetworkInput.pollNextNullable(StreamTaskNetworkInput.java:47)
    at org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:135)
    at org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:279)
    at org.apache.flink.streaming.runtime.tasks.StreamTask.run(StreamTask.java:301)
    at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:406)
    at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:705)
    at org.apache.flink.runtime.taskmanager.Task.run(Task.java:530)
    at java.lang.Thread.run(Thread.java:748)
   
3、除了这个算子vertice为FAILED,其他vertice都为CANCELED,JobManager状态为RUNNING


正常情况下出现这个错,JM会找一台合适的机器重新把TM启起来或者多次尝试后,任务退出。
但是现在任务的运行状态为RUNNING,虽然为RUNNING但是也不写入数据到下游存储。







thanks


在 2020-04-26 11:01:04,"Zhefu PENG" <pe...@gmail.com> 写道:
>图好像挂了看不到。是不是和这两个场景描述比较相似
>
>[1] http://apache-flink.147419.n8.nabble.com/flink-kafka-td2386.html
>[2]  http://apache-flink.147419.n8.nabble.com/Flink-Kafka-td2390.html
>On Sun, Apr 26, 2020 at 10:58 yanggang_it_job <ya...@163.com>
>wrote:
>
>> 1、Flink-UI截图
>> 我任务的启动配置是 -p 200 -ys 5,也就是说会有40个TM运行,之前正常运行的时候确实是40个TM,而现在只有1个TM在运行;
>> 同时通过观察数据的同步时间,任务已经在两天前停止写入数据了,但是查看任务的状态却是RUNNING;
>> 我的理解是当tm申请失败,那么当前任务就会退出并把状态设置为FINISHED,但是真实情况却是上面描述那样。
>> 请问为什么会出现这种情况呢?
>>
>> thanks
>>
>>
>>
>>
>>
>>

Re: 任务假死

Posted by Zhefu PENG <pe...@gmail.com>.
图好像挂了看不到。是不是和这两个场景描述比较相似

[1] http://apache-flink.147419.n8.nabble.com/flink-kafka-td2386.html
[2]  http://apache-flink.147419.n8.nabble.com/Flink-Kafka-td2390.html
On Sun, Apr 26, 2020 at 10:58 yanggang_it_job <ya...@163.com>
wrote:

> 1、Flink-UI截图
> 我任务的启动配置是 -p 200 -ys 5,也就是说会有40个TM运行,之前正常运行的时候确实是40个TM,而现在只有1个TM在运行;
> 同时通过观察数据的同步时间,任务已经在两天前停止写入数据了,但是查看任务的状态却是RUNNING;
> 我的理解是当tm申请失败,那么当前任务就会退出并把状态设置为FINISHED,但是真实情况却是上面描述那样。
> 请问为什么会出现这种情况呢?
>
> thanks
>
>
>
>
>
>