Re: 分组滚动窗口 无法触发计算,由于 watermark 没有被生成,或者被计算。

2021-04-11 文章 jie mei
问题已经解决,因为我的 StreamEnv 默认设置为事件时间。去掉就可以了,这导致了watermark没有生成。

jie mei  于2021年4月12日周一 上午1:49写道:

> 大家好,我有一个 Flink 程序, 使用事件时间做分组窗口计算,但是无法触发窗口计算。我Debug到 WindowOperator,  下,
> 发现 WindowOperator 的 TriggerContext中的当前水印一直是一个负数, StreamTaskNetworkInput 中的
> processElement 方法没有接受到 watermark 消息, recordOrMark.isWatermark() == false。
>
> 我自己的怀疑难道是事件时间每设置对? 但是对比了文档,应该是可以的。下面是我的 DDL
>
> create table input_table (
> `dim` varchar,
>  `server_time` bigint,
>  `event_time` AS TO_TIMESTAMP(FROM_UNIXTIME(server_time / 1000,
> '-MM-dd HH:mm:ss')),
>  WATERMARK FOR `event_time` AS `event_time`
> )
> select TUMBLE_START(`event_time`, INTERVAL '1' SECOND) AS `log_time`,
> `dim`,
> count(1),
> FROM input_table
>  GROUP BY TUMBLE(`event_time`, INTERVAL '1' SECOND),`dim`
>
>
>
> *Best Regards*
> *Jeremy Mei*
>


-- 

*Best Regards*
*Jeremy Mei*


??????Re: CheckpointedFunction#snapshotState????????????????

2021-04-11 文章 cs
quable 
statecheckpoint??apistatetablekv

------
??:Yun Tang

npm 打包0.9branch 前端包一直报错

2021-04-11 文章 housezhang
报错内容如下:
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! notarget a package version that doesn't exist.




--
Sent from: http://apache-flink.147419.n8.nabble.com/


flink过一会就自动重启

2021-04-11 文章 penguin.
求助!
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 
org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer08.run(FlinkKafkaConsumer08.java:316)
at 
org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:100)
at 
org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:63)
at 
org.apache.flink.streaming.runtime.tasks.SourceStreamTask$LegacySourceFunctionThread.run(SourceStreamTask.java:201)
Causedby: java.net.SocketTimeoutException
at sun.nio.ch.SocketAdaptor$SocketInputStream.read(SocketAdaptor.java:211)
at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:103)
at 
java.nio.channels.Channels$ReadableByteChannelImpl.read(Channels.java:385)
at kafka.utils.Utils$.read(Utils.scala:380)
at 
kafka.network.BoundedByteBufferReceive.readFrom(BoundedByteBufferReceive.scala:54)
at kafka.network.Receive$class.readCompletely(Transmission.scala:56)
at 
kafka.network.BoundedByteBufferReceive.readCompletely(BoundedByteBufferReceive.scala:29)
at kafka.network.BlockingChannel.receive(BlockingChannel.scala:111)
at kafka.consumer.SimpleConsumer.liftedTree1$1(SimpleConsumer.scala:79)
at 
kafka.consumer.SimpleConsumer.kafka$consumer$SimpleConsumer$$sendRequest(SimpleConsumer.scala:68)
at kafka.consumer.SimpleConsumer.getOffsetsBefore(SimpleConsumer.scala:127)
at 
kafka.javaapi.consumer.SimpleConsumer.getOffsetsBefore(SimpleConsumer.scala:79)
at 
org.apache.flink.streaming.connectors.kafka.internals.LegacyFetcher$SimpleConsumerThread.getLastOffset(LegacyFetcher.java:759)
at 
org.apache.flink.streaming.connectors.kafka.internals.LegacyFetcher$SimpleConsumerThread.getMissingOffsetsFromKafka(LegacyFetcher.java:712)
at 
org.apache.flink.streaming.connectors.kafka.internals.LegacyFetcher$SimpleConsumerThread.run(LegacyFetcher.java:462)

Re:flink集群自己重启,求助!

2021-04-11 文章 penguin.



图片不知道为什么上传不了




















在 2021-04-12 10:23:12,"penguin."  写道:





flink集群中提交一个job,一共40个task,每次跑了一会就会发生1个任务失败39个重启,第二张图中接受的字节达到了700KB左右的时候就会发生(ui界面中有个bytes
 receive)。
不知道如何找出原因,求助!!谢谢各位!








 

Re:Re: flink的cpu和内存资源分配

2021-04-11 文章 penguin.
谢谢!因为我是一个机器作为一个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 bytes), min value will 
be used instead
INFO [] - FinalTaskExecutorMemory configuration:
INFO [] - TotalProcessMemory: 1.688gb (1811939328 bytes)
INFO [] - TotalFlinkMemory: 1.250gb (1342177280 bytes)
INFO [] - TotalJVMHeapMemory: 512.000mb (536870902 bytes)
INFO [] - Framework: 128.000mb (134217728 bytes)
INFO [] - Task: 384.000mb (402653174 bytes)
INFO [] - TotalOff-heap Memory: 768.000mb (805306378 bytes)
INFO [] - Managed: 512.000mb (536870920 bytes)
INFO [] - TotalJVMDirectMemory: 256.000mb (268435458 bytes)
INFO [] - Framework: 128.000mb (134217728 bytes)
INFO [] - Task: 0 bytes
INFO [] - Network: 128.000mb (134217730 bytes)
INFO [] - JVMMetaspace: 256.000mb (268435456 bytes)
INFO [] - JVMOverhead: 192.000mb (201326592 bytes)


调为4GB后:










Penguin.

















在 2021-04-12 10:04:32,"Xintong Song"  写道:
>>
>> 现在比如一个节点16核cpu 16g内存,4个slot;
>
>
>你这里所说的节点,应该指的是 Flink TM 所在的物理机或虚拟机吧。
>
>你这里混淆了好几个概念
>
>- 节点、TM、slot 是三个不同层次的概念。16c16g 是针对节点的,4 slot 是针对 TM 的。一个节点是可以有多个 TM的。
>
>- TM 的内存不仅包括堆内存,还包括其他内存类型,因此 512M 不代表 TM 的内存大小。
>
>- TM 的 cpu 和内存是否会超用,很大程度上取决于你的运行环境。从 Flink 自身来看,Heap、Direct、Mataspace
>这几种内存都是不会超用的,但是 Native 内存有一部分是有可能超用的,另外 CPU 也是有可能超用的。但是通常 K8s/Yarn
>运行环境中都提供外围的资源限制,比如不允许资源超用或只允许一定比例的资源超用,这个要看具体的环境配置。
>
>
>可以看一下内存模型与配置相关的几篇官方文档 [1]。
>
>
>Thank you~
>
>Xintong Song
>
>
>[1]
>https://ci.apache.org/projects/flink/flink-docs-release-1.12/zh/deployment/memory/mem_setup.html
>
>On Sun, Apr 11, 2021 at 9:16 PM penguin.  wrote:
>
>> 得知flink的内存是隔离的,cpu不能隔离;
>> 现在比如一个节点16核cpu 16g内存,4个slot;
>> 通过调试和日志,发现每个slot拥有1个cpu,那么4个slot就占用4个cpu核心。且堆内存为512M。
>> 这样的话其他12个cpu核心以及那么大的内存是没有被使用然后浪费了吗?
>>
>>
>> 期待回复,多谢!


flink集群自己重启,求助!

2021-04-11 文章 penguin.




flink集群中提交一个job,一共40个task,每次跑了一会就会发生1个任务失败39个重启,第二张图中接受的字节达到了700KB左右的时候就会发生(ui界面中有个bytes
 receive)。
不知道如何找出原因,求助!!谢谢各位!





Re: flink的cpu和内存资源分配

2021-04-11 文章 Xintong Song
>
> 现在比如一个节点16核cpu 16g内存,4个slot;


你这里所说的节点,应该指的是 Flink TM 所在的物理机或虚拟机吧。

你这里混淆了好几个概念

- 节点、TM、slot 是三个不同层次的概念。16c16g 是针对节点的,4 slot 是针对 TM 的。一个节点是可以有多个 TM的。

- TM 的内存不仅包括堆内存,还包括其他内存类型,因此 512M 不代表 TM 的内存大小。

- TM 的 cpu 和内存是否会超用,很大程度上取决于你的运行环境。从 Flink 自身来看,Heap、Direct、Mataspace
这几种内存都是不会超用的,但是 Native 内存有一部分是有可能超用的,另外 CPU 也是有可能超用的。但是通常 K8s/Yarn
运行环境中都提供外围的资源限制,比如不允许资源超用或只允许一定比例的资源超用,这个要看具体的环境配置。


可以看一下内存模型与配置相关的几篇官方文档 [1]。


Thank you~

Xintong Song


[1]
https://ci.apache.org/projects/flink/flink-docs-release-1.12/zh/deployment/memory/mem_setup.html

On Sun, Apr 11, 2021 at 9:16 PM penguin.  wrote:

> 得知flink的内存是隔离的,cpu不能隔离;
> 现在比如一个节点16核cpu 16g内存,4个slot;
> 通过调试和日志,发现每个slot拥有1个cpu,那么4个slot就占用4个cpu核心。且堆内存为512M。
> 这样的话其他12个cpu核心以及那么大的内存是没有被使用然后浪费了吗?
>
>
> 期待回复,多谢!


分组滚动窗口 无法触发计算,由于 watermark 没有被生成,或者被计算。

2021-04-11 文章 jie mei
大家好,我有一个 Flink 程序, 使用事件时间做分组窗口计算,但是无法触发窗口计算。我Debug到 WindowOperator,  下,
发现 WindowOperator 的 TriggerContext中的当前水印一直是一个负数, StreamTaskNetworkInput 中的
processElement 方法没有接受到 watermark 消息, recordOrMark.isWatermark() == false。

我自己的怀疑难道是事件时间每设置对? 但是对比了文档,应该是可以的。下面是我的 DDL

create table input_table (
`dim` varchar,
 `server_time` bigint,
 `event_time` AS TO_TIMESTAMP(FROM_UNIXTIME(server_time / 1000, '-MM-dd
HH:mm:ss')),
 WATERMARK FOR `event_time` AS `event_time`
)
select TUMBLE_START(`event_time`, INTERVAL '1' SECOND) AS `log_time`,
`dim`,
count(1),
FROM input_table
 GROUP BY TUMBLE(`event_time`, INTERVAL '1' SECOND),`dim`



*Best Regards*
*Jeremy Mei*


flink的cpu和内存资源分配

2021-04-11 文章 penguin.
得知flink的内存是隔离的,cpu不能隔离;
现在比如一个节点16核cpu 16g内存,4个slot;
通过调试和日志,发现每个slot拥有1个cpu,那么4个slot就占用4个cpu核心。且堆内存为512M。
这样的话其他12个cpu核心以及那么大的内存是没有被使用然后浪费了吗?


期待回复,多谢!