问题已经解决,因为我的 StreamEnv 默认设置为事件时间。去掉就可以了,这导致了watermark没有生成。
jie mei 于2021年4月12日周一 上午1:49写道:
> 大家好,我有一个 Flink 程序, 使用事件时间做分组窗口计算,但是无法触发窗口计算。我Debug到 WindowOperator, 下,
> 发现 WindowOperator 的 TriggerContext中的当前水印一直是一个负数, StreamTaskNetworkInput 中的
> processElement 方法没有接受到 watermark 消息,
quable
statecheckpoint??apistatetablekv
------
??:Yun Tang
报错内容如下:
npm ERR! npm verb node v14.16.0
npm ERR! npm verb npm v7.9.0
npm ERR! npm ERR! code ETARGET
npm ERR! npm ERR! notarget No matching version found for
fedops-grafana-api@^2.0.0.
npm ERR! npm ERR! notarget In most cases you or one of your dependencies are
requesting
npm ERR! npm ERR!
求助!
flink隔一段时间就会重启,重启时,ui界面中的 Bytes Received 达到600、700KB左右,40个任务 1个Failed 39
个Canceled,然后就会重启,不知道到底是哪里出了问题,怎么解决呢?
Root Exception内容如下:
2021-04-1210:29:03
java.lang.Exception
at
org.apache.flink.streaming.connectors.kafka.internals.LegacyFetcher.run(LegacyFetcher.java:222)
at
图片不知道为什么上传不了
在 2021-04-12 10:23:12,"penguin." 写道:
flink集群中提交一个job,一共40个task,每次跑了一会就会发生1个任务失败39个重启,第二张图中接受的字节达到了700KB左右的时候就会发生(ui界面中有个bytes
receive)。
不知道如何找出原因,求助!!谢谢各位!
谢谢!因为我是一个机器作为一个TM,flink配置文件中默认的taskmanager.memory.process.size大小是1728m,然后日志里面显示堆内存512。
如果我把这个参数taskmanager.memory.process.size调大一点比如4GB,是否会对任务执行的性能有所提升呢?
默认如下
INFO [] - The derived from fraction jvm overhead memory (172.800mb (181193935
bytes)) is less than its min value 192.000mb (201326592
flink集群中提交一个job,一共40个task,每次跑了一会就会发生1个任务失败39个重启,第二张图中接受的字节达到了700KB左右的时候就会发生(ui界面中有个bytes
receive)。
不知道如何找出原因,求助!!谢谢各位!
>
> 现在比如一个节点16核cpu 16g内存,4个slot;
你这里所说的节点,应该指的是 Flink TM 所在的物理机或虚拟机吧。
你这里混淆了好几个概念
- 节点、TM、slot 是三个不同层次的概念。16c16g 是针对节点的,4 slot 是针对 TM 的。一个节点是可以有多个 TM的。
- TM 的内存不仅包括堆内存,还包括其他内存类型,因此 512M 不代表 TM 的内存大小。
- TM 的 cpu 和内存是否会超用,很大程度上取决于你的运行环境。从 Flink 自身来看,Heap、Direct、Mataspace
这几种内存都是不会超用的,但是 Native
大家好,我有一个 Flink 程序, 使用事件时间做分组窗口计算,但是无法触发窗口计算。我Debug到 WindowOperator, 下,
发现 WindowOperator 的 TriggerContext中的当前水印一直是一个负数, StreamTaskNetworkInput 中的
processElement 方法没有接受到 watermark 消息, recordOrMark.isWatermark() == false。
我自己的怀疑难道是事件时间每设置对? 但是对比了文档,应该是可以的。下面是我的 DDL
create table input_table (
得知flink的内存是隔离的,cpu不能隔离;
现在比如一个节点16核cpu 16g内存,4个slot;
通过调试和日志,发现每个slot拥有1个cpu,那么4个slot就占用4个cpu核心。且堆内存为512M。
这样的话其他12个cpu核心以及那么大的内存是没有被使用然后浪费了吗?
期待回复,多谢!
10 matches
Mail list logo