感谢您的回复,这个问题和您刚才给我的场景有些相似,但还是有些许差异。
刚才试了几种方式,图片好像都无法访问。
下面我详细介绍下异常情况
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" <[email protected]> 写道:
>图好像挂了看不到。是不是和这两个场景描述比较相似
>
>[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 <[email protected]>
>wrote:
>
>> 1、Flink-UI截图
>> 我任务的启动配置是 -p 200 -ys 5,也就是说会有40个TM运行,之前正常运行的时候确实是40个TM,而现在只有1个TM在运行;
>> 同时通过观察数据的同步时间,任务已经在两天前停止写入数据了,但是查看任务的状态却是RUNNING;
>> 我的理解是当tm申请失败,那么当前任务就会退出并把状态设置为FINISHED,但是真实情况却是上面描述那样。
>> 请问为什么会出现这种情况呢?
>>
>> thanks
>>
>>
>>
>>
>>
>>