退订

2022-09-18 文章 jimandlice
退订

| |
jimandlice
|
|
邮箱:jimandl...@163.com
|



Re: 这里为什么会报null指针错误,和源表数据有关系吗?

2022-09-18 文章 yh z
Hi,看起来是需要一个脏数据处理的逻辑的,可以在jira上建一个issue,并给出更加详细的报错信息和可能的脏数据信息呀。建立issue后,可以在邮件里回复下。

Asahi Lee  于2022年9月14日周三 09:33写道:

> 是的,运行一段时间后发生错误,null指针的代码哪里是不是要非空处理?
>
>
>
>
> --原始邮件--
> 发件人:
>   "user-zh"
> <
> xyzhong...@163.com;
> 发送时间:2022年9月9日(星期五) 晚上8:37
> 收件人:"user-zh"
> 主题:Re:这里为什么会报null指针错误,和源表数据有关系吗?
>
>
>
> Hi,看上去是遇到了一条脏数据,问一下是在运行了一段时间之后突然报错的嘛?
>
>
>
>
>
>
>
> --
>
>  Best!
>  Xuyang
>
>
>
>
>
> At 2022-09-09 11:46:47, "Asahi Lee"  2022-09-09 11:36:42,866 INFOnbsp;
> org.apache.flink.runtime.executiongraph.ExecutionGraphnbsp; nbsp;
> nbsp; nbsp;[] - Source:
> HiveSource-ods_jt_hrs.ods_hrmis_HR_EMPL_Education (1/1)
> (2a68412dab3602a1eeda5a750b308e23) switched from RUNNING to FAILED on
> container_1658144991761_106260_01_02 @ hhny-cdh05 (dataPort=45015).
> java.lang.RuntimeException: null
> at
> org.apache.flink.streaming.runtime.io.RecordWriterOutput.pushToRecordWriter(RecordWriterOutput.java:105)
> ~[flink-dist_2.11-1.14.3.jar:1.14.3]
> at
> org.apache.flink.streaming.runtime.io.RecordWriterOutput.collect(RecordWriterOutput.java:89)
> ~[flink-dist_2.11-1.14.3.jar:1.14.3]
> at
> org.apache.flink.streaming.runtime.io.RecordWriterOutput.collect(RecordWriterOutput.java:43)
> ~[flink-dist_2.11-1.14.3.jar:1.14.3]
> at
> org.apache.flink.streaming.runtime.tasks.SourceOperatorStreamTask$AsyncDataOutputToOutput.emitRecord(SourceOperatorStreamTask.java:196)
> ~[flink-dist_2.11-1.14.3.jar:1.14.3]
> at
> org.apache.flink.streaming.api.operators.source.NoOpTimestampsAndWatermarks$TimestampsOnlyOutput.collect(NoOpTimestampsAndWatermarks.java:97)
> ~[flink-dist_2.11-1.14.3.jar:1.14.3]
> at
> org.apache.flink.streaming.api.operators.source.NoOpTimestampsAndWatermarks$TimestampsOnlyOutput.collect(NoOpTimestampsAndWatermarks.java:91)
> ~[flink-dist_2.11-1.14.3.jar:1.14.3]
> at
> org.apache.flink.connector.file.src.impl.FileSourceRecordEmitter.emitRecord(FileSourceRecordEmitter.java:45)
> ~[flink-table_2.11-1.14.3.jar:1.14.3]
> at
> org.apache.flink.connector.file.src.impl.FileSourceRecordEmitter.emitRecord(FileSourceRecordEmitter.java:35)
> ~[flink-table_2.11-1.14.3.jar:1.14.3]
> at
> org.apache.flink.connector.base.source.reader.SourceReaderBase.pollNext(SourceReaderBase.java:143)
> ~[flink-table_2.11-1.14.3.jar:1.14.3]
> at
> org.apache.flink.streaming.api.operators.SourceOperator.emitNext(SourceOperator.java:350)
> ~[flink-dist_2.11-1.14.3.jar:1.14.3]
> at 
> org.apache.flink.streaming.runtime.io.StreamTaskSourceInput.emitNext(StreamTaskSourceInput.java:68)
> ~[flink-dist_2.11-1.14.3.jar:1.14.3]
> at 
> org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:65)
> ~[flink-dist_2.11-1.14.3.jar:1.14.3]
> at
> org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:496)
> ~[flink-dist_2.11-1.14.3.jar:1.14.3]
> at
> org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:203)
> ~[flink-dist_2.11-1.14.3.jar:1.14.3]
> at
> org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop(StreamTask.java:809)
> ~[flink-dist_2.11-1.14.3.jar:1.14.3]
> at
> org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:761)
> ~[flink-dist_2.11-1.14.3.jar:1.14.3]
> at
> org.apache.flink.runtime.taskmanager.Task.runWithSystemExitMonitoring(Task.java:958)
> ~[flink-dist_2.11-1.14.3.jar:1.14.3]
> at
> org.apache.flink.runtime.taskmanager.Task.restoreAndInvoke(Task.java:937)
> ~[flink-dist_2.11-1.14.3.jar:1.14.3]
> at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:766)
> ~[flink-dist_2.11-1.14.3.jar:1.14.3]
> at org.apache.flink.runtime.taskmanager.Task.run(Task.java:575)
> ~[flink-dist_2.11-1.14.3.jar:1.14.3]
> at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_181]
> Caused by: java.lang.NullPointerException
> at
> org.apache.flink.table.data.writer.BinaryWriter.write(BinaryWriter.java:118)
> ~[flink-table_2.11-1.14.3.jar:1.14.3]
> at
> org.apache.flink.table.runtime.typeutils.RowDataSerializer.toBinaryRow(RowDataSerializer.java:204)
> ~[flink-table_2.11-1.14.3.jar:1.14.3]
> at
> org.apache.flink.table.runtime.typeutils.RowDataSerializer.serialize(RowDataSerializer.java:103)
> ~[flink-table_2.11-1.14.3.jar:1.14.3]
> at
> org.apache.flink.table.runtime.typeutils.RowDataSerializer.serialize(RowDataSerializer.java:48)
> ~[flink-table_2.11-1.14.3.jar:1.14.3]
> at
> org.apache.flink.streaming.runtime.streamrecord.StreamElementSerializer.serialize(StreamElementSerializer.java:168)
> ~[flink-dist_2.11-1.14.3.jar:1.14.3]
> at
> org.apache.flink.streaming.runtime.streamrecord.StreamElementSerializer.serialize(StreamElementSerializer.java:46)
> ~[flink-dist_2.11-1.14.3.jar:1.14.3]
> at
> 

Flink Session模式常驻taskmanager

2022-09-18 文章 谭家良
Hi all,
目前Flink Session模式(on Yarn/on 
K8s)采用的类似线程池模型,但好像都是临时taskmanager(类似线程池模型的临时线程,一定时间内就会destroy),能否设置常驻taskmanager?(生命周期跟随整个Flink集群,类似线程池模型的核心线程)


| |
谭家良
|
|
tanjl_w...@126.com
|

Re: 某作业计算算子处于busy状态

2022-09-18 文章 杨扬
还有一个现象,观察到 
taskHeap内存占用在逐步升高,作业刚启动的时候占用在10%左右,一周后增加至25%左右,两周后增加至50%左右,上述指的是GC后观察到的内存占用值。两周后计算算子几乎一直100%busy状态,端到端延迟已经达到了10s左右,作业已经不可用需要重启了。




> 在 2022年9月15日,下午8:58,yidan zhao  写道:
> 
> 本身低延迟一定程度上就是靠“资源低利用率”实现的。资源高利用率情况,就是尽可能满负荷够用就行的意思。
> 
> yidan zhao  于2022年9月15日周四 20:57写道:
>> 
>> 资源足够,busy 50%+,延迟如果也可接受的话,其实就不算问题。2s延迟不算高。
>> 
>> 杨扬  于2022年9月15日周四 20:02写道:
>>> 
>>> 目前并发度已经设定为25,每个slot内存为4G,已经使用100G内存,峰值流量1TPS左右,资源是足够的吧?
>>> 
>>> 
>>> 
>>> 
 在 2022年9月15日,下午7:27,yidan zhao  写道:
 
 busy那就提升并发度看看效果?
 
 杨扬 mailto:yangya...@cupdata.com>> 于2022年9月15日周四 
 14:51写道:
 各位好!
  目前有一flink作业,大致分为3个阶段:
  读取kafka中数据(1个source,并行度3)-> 进行数据筛选和条件判断(没有窗口操作,并行度25)-> 
 结果写入kafka(20多个sink,每个sink并行度3)。可参考附件图片。
  
 目前存在的问题是:作业在运行一段时间后,中间25并行度的一系列计算算子会变为busy状态(会达到50%以上),端到端的信息延迟增加,偶尔延迟会达到2秒以上。此时作业日志并没有报错、异常、告警等信息。
 
  
 上述问题因为没有日志异常告警信息,本人有些无从下手解决。猜测是否因为sink数据量太多且每个sink并行度都是3会导致中间25个并行度的一系列算子和sink之间的交互产生大量shuffle引起?望各位大佬帮忙分析一下这个问题
 
 
 
 ===
 此邮件已由 Deep Discovery Email Inspector 进行了分析。
>>> 
> 
> === 
> 此邮件已由 Deep Discovery Email Inspector 进行了分析。