![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
flink
wppwpp1
这个作者很懒,什么都没留下…
展开
-
flink链接redis时候,集群close down是否会重连
flink连接redis时候,集群close down是否会重连。原创 2022-08-05 18:41:34 · 291 阅读 · 0 评论 -
flink 网络中断错误信息跟踪
生产中,突然间flink任务大规模重启,通过查看日记信息,发现网络断网了,具体错误信息如下。原创 2022-08-01 17:04:57 · 439 阅读 · 0 评论 -
flink消费kafka从指定时间消费offset的日志
有时生产上会按指定时间消费kafka的数据,具体日志如下:原创 2022-06-22 14:26:19 · 606 阅读 · 0 评论 -
解决could only be written to 0 of the 1 minReplication nodes,there are 0 datanode(s) running问题
问题描述在使用hive insert overwrite更新分区表的时候出现这个报错。意思是没用可用的DataNode了。解决方案网上看到的类似的解决方案有以下两种: 但我这里都不是。我这里的原因是hdfs空间被占满了,而hive在执行的时候会往/tmp下读写大量的临时数据,由于没有空间而报错。默认情况下,hive脚本执行完之后会自动清理掉这些临时文件。这里之所以出现/tmp下大量文件没被清理,是因为之前自己有多次没等hive脚本执行完就Ctrl +c掉了,所以有大量临时文件未清理。因此,最终的解决方案原创 2022-05-31 23:38:29 · 1496 阅读 · 0 评论 -
Flink全局使用的配置信息如何加载
1.要全局的配置放入config里,然后放入环境中:env.getConfig().setGlobalJobParameters(config);2.组件的open方法里:ExecutionConfig.GlobalJobParameters globalJobParameters = getRuntimeContext().getExecutionConfig().getGlobalJobParameters();Map<String, String> globConf =原创 2022-05-12 12:24:57 · 812 阅读 · 0 评论 -
flink 大状态下做savepoint失败问题的排查
1、线上有一个任务状态比较大,做checkpoint的时候大约有100G左右,任务在做到10G左右的时候会报错2、报错日志如下:第二个错误日志:2022-04-16 00:05:23org.apache.flink.runtime.io.network.partition.consumer.PartitionConnectionException: Connection for partition 55780195e63c343e4a320329203bbb8a#13@83443ca原创 2022-04-16 00:57:14 · 5582 阅读 · 1 评论 -
flink taskmanager报 Insufficient number of network buffers: required 2
错误代码如下: java.io.IOException: Insufficient number of network buffers: required 2, but only 1 available. The total number of network buffers is currently set to 32768 of 32768 bytes each. You can increase this number by setting the configuration keys 't原创 2022-04-10 14:53:21 · 4795 阅读 · 0 评论 -
flink taskmanager参数优化
taskmanager.network.memory.exclusive-buffers-request-timeout-ms=600000;taskmanager.network.memory.fraction= 0.4;taskmanager.memory.managed.fraction=0.1;taskmanager.network.memory.max=1024mb;taskmanager.network.memory.min=512mb;如果报oom相关参数调优...原创 2022-04-08 23:28:50 · 2839 阅读 · 1 评论 -
flink写入到kafka,只写入指定分区问题排查
背景:flink的datastream部署到线上时,发现数据只能写入到kafka的一些分区,其他分区没有数据写入。当把flink的并行度设置大于等于kafka的分区数时,kafka的分区都能写入数据。于是研究了一下源码。FlinkFixedPartitioner源码:package org.apache.flink.streaming.connectors.kafka.partitioner;import org.apache.flink.annotation.PublicEvolving原创 2022-03-10 22:12:18 · 3498 阅读 · 0 评论 -
flink rocksdb相关配置优化
table.dynamic-table-options.enabled=true;state.backend.rocksdb.compaction.style=level;state.backend.rocksdb.thread.num=8;table.exec.mini-batch.enabled=true;table.exec.mini-batch.size=1000;table.optimizer.distinct-agg.split.enabled=true;state.backend.原创 2022-03-03 18:56:04 · 2741 阅读 · 0 评论 -
flink 压测一些参数调优
####### jobmanager config options #######jobmanager.heap.size: 20000mcluster.evenly-spread-out-slots: true####### timeout config options #######akka.ask.timeout: 300 sakka.lookup.timeout: 300 sweb.timeout: 300000heartbeat.timeout: 600000resourc.原创 2022-02-16 15:14:58 · 1378 阅读 · 0 评论 -
GroupTableAggFunction源码解读
/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to y.原创 2022-02-11 10:00:06 · 1140 阅读 · 0 评论 -
flink group by 性能调优
开启微批处理execution.checkpointing.interval: 180sstate.backend: com.alibaba.flink.statebackend.GeminiStateBackendFactorytable.exec.state.ttl: 129600000table.exec.mini-batch.enabled: truetable.exec.mini-batch.allow-latency: 5stable.exec.mini-batch.size:1原创 2022-02-10 20:47:03 · 1153 阅读 · 0 评论 -
flinksql 添加字段从checkpoint重启的问题
flinksql 在group by添加字段后,从checkpoint重启会报错,2022-02-07 18:28:33java.lang.Exception: Exception while creating StreamOperatorStateContext. at org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.streamOperatorStateContext(StreamTaskState原创 2022-02-07 18:32:47 · 1926 阅读 · 2 评论 -
flink 消费kafka的数据出现异常排查
1、错误日志如下;{ "timestamp": "2022-01-27 17:07:55.680", "host": "gd12-k8s-noah-vrc-prod001-node-s0384", "message": "2022-01-27 17:07:49,041 INFO org.apache.flink.kafka.shaded.org.apache.kafka.clients.FetchSessionHandler [] - [Consumer clientId=co.原创 2022-01-29 12:27:42 · 2665 阅读 · 0 评论 -
flinksql 写入kudu出现问题的排查
1、线上任务写入kudu报错,错误代码如下: 2022-01-11 17:22:00,772 ERROR org.apache.flink.kudu.connector.internal.failure.DefaultKuduFailureHandler [] - Error while sending value .Row error for primary key="10043603BS2022010646ACTIVEappSP\x00\x002022010646\x00\x0020220106原创 2022-01-11 17:59:57 · 1454 阅读 · 0 评论 -
flink 状态后端不同选型的优劣势
任务的状态图相关资源预览1、并行度比较多的情况下,fsbackend状态比较稳定,checkpoint如下:2、 使用rocksdb会超时fsbackend和rocksdb还是要根据具体场景选择相关的状态存储原创 2021-12-30 15:56:41 · 981 阅读 · 0 评论 -
flink 多流join相关总结
Flink怎么实现多个实时流的关联。官方文档,很多教程 给的Demo都是两个实时流的关联。1. 分析业务数据源,很多需要多个流的join的场景 是伪命题,用union即可。2. union + group by ,在基于key的流中可以取代join。优势: 在join 发生数据倾斜或者反压,很难 checkpoint时,用union可以回避这个问题。3. 例如三个流join,可以 tempstream = stream1.join(stream2) ResultStream = te...转载 2022-01-29 10:03:53 · 1890 阅读 · 0 评论 -
flink1.11.0内存模型总结
1、Flink TaskManager启动日志INFO [] - Loading configuration property: taskmanager.memory.process.size, 2048mINFO [] - Loading configuration property: taskmanager.memory.managed.fraction, 0.3INFO [] - Loading configuration property: taskmanager.memory.jv原创 2021-11-22 16:54:53 · 593 阅读 · 0 评论 -
java 建造者模式详解
package com.poizon;import lombok.Data;/** * @Author: wpp * @Date: 2021/10/13 17:03 */@Datapublic class Persion { String name; String age;}建造者类package com.poizon;/** * @Author: wpp * @Date: 2021/10/13 17:05 */public class P.原创 2021-10-13 17:48:08 · 69 阅读 · 0 评论 -
Flink Table & SQL AppendStreamTableSink、RetractStreamTableSink、UpsertStreamTableSink 相关区别和变化
Flink Table & SQL StreamTableSink有三类接口: AppendStreamTableSink、UpsertStreamTableSink、RetractStreamTableSink。AppendStreamTableSink: 可将动态表转换为Append流。适用于动态表只有Insert的场景。RetractStreamTableSink: 可将动态表转换为Retract流。适用于动态表有Insert、Delete、Update的场景。UpsertStre原创 2021-09-17 18:25:51 · 443 阅读 · 0 评论 -
flink 全局窗口
import org.apache.flink.streaming.api.datastream.AllWindowedStream;import org.apache.flink.streaming.api.datastream.DataStreamSource;import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;import org.apache.flink.streaming.api.envi..原创 2021-09-17 14:59:32 · 437 阅读 · 0 评论 -
flink 源码解析
https://www.cnblogs.com/Springmoon-venn/p/14551983.htmlwatermark的时间两种方式:https://blog.csdn.net/lvwenyuan_1/article/details/91389124如果是process-time则一定要设置setAutoWatermarkInterval,getConfig().setAutoWatermarkInterval(200);而event-time会自动设置ge..原创 2021-09-15 20:21:54 · 100 阅读 · 0 评论 -
flink维表join用新的方式替换
老的方式LookupableTableSource新的方式DynamicTableSource原创 2021-08-23 15:10:19 · 159 阅读 · 0 评论 -
flink interval join代码示例
package org.apache.flink.table.planner.runtime.stream.sqlimport org.apache.flink.api.scala._import org.apache.flink.streaming.api.functions.AssignerWithPunctuatedWatermarksimport org.apache.flink.streaming.api.watermark.Watermarkimport org.apache.fl..原创 2021-08-20 11:19:00 · 204 阅读 · 0 评论 -
flink双流join的策略源码分析和总结
2、相关文档https://www.jianshu.com/p/11b482394c733、类的继承关系https://blog.csdn.net/LS_ice/article/details/95621131join的时候一定要保存状态。原创 2021-12-02 01:08:11 · 1183 阅读 · 0 评论 -
flink jobgraph源码解析
1、api到executiongraph的整个流程https://zhuanlan.zhihu.com/p/227361032、原创 2021-06-11 17:32:54 · 110 阅读 · 2 评论 -
flink 性能压测
1、维表关联性能,最高吞吐,可以通过并行度和kafka的吞吐测出相关性能,如下图压测性能,200并发,tps正常在5w左右。2、之前kafka吞吐最高能达到90MB/s的输入,所以压测要达到两倍的性能,也就是200mb3、以下是同样的并行度,通过设置任务延迟,消费五个小时的数据, 来实现相关性能压测,200并发,最高吞吐tps能达到30w左右4、kafka的压测性能如下,写入稳定在250mb左右,达到要求:...原创 2021-06-07 16:04:14 · 3797 阅读 · 3 评论 -
blinksql 通过维表关联redis 实现hash结构的数据关联
1、相关sql如下:CREATE TABLE source_table ( --必须和Kafka源表中的5个字段的顺序保持一致。 messageKey VARBINARY, `message` VARBINARY, `topic` VARCHAR, `partition` INT, `offset` BIGINT) WITH ( `type` = 'kafka011', `topic` = 'flink005', `group.id` = 'kafka_test原创 2021-06-06 20:25:30 · 234 阅读 · 1 评论 -
flink cdc失败
[] - Step 8: rolling back transaction after abort2021-06-04 17:18:57,132 ERROR io.debezium.connector.mysql.SnapshotReader [] - Failed due to error: Aborting snapshot due to error when last running 'SELECT * FROM `hupu_du_community`.`tre.原创 2021-06-04 19:35:20 · 1453 阅读 · 5 评论 -
flink 并行度和kafka分区的关系
1、目前flink的并行度如果大于kafka的分区,checkpoint可以正常执行成功,但是会存在某个并行度空转的情况。可以正常checkpoint2、而blink的并行度如果大于kafka的分区,checkpoint不能正常执行成功,checkpoint会失败, 如图,一直没checkpoint...原创 2021-06-01 22:51:55 · 1513 阅读 · 2 评论 -
flink checkpoint 指标的源码解析
1、 CheckpointMetricsBuilder是计算checkpoint相关指标信息@NotThreadSafepublic class CheckpointMetricsBuilder { private CompletableFuture<Long> bytesProcessedDuringAlignment = new CompletableFuture<>(); private long bytesPersistedDuringAlignmen原创 2021-05-07 16:36:46 · 290 阅读 · 0 评论 -
flink算子状态类型
1、flink自己管理的算子状态类型有以下几种,BroadcastState,ListState,UnionListStatepackage org.apache.flink.api.common.state;import java.util.Set;import org.apache.flink.annotation.PublicEvolving;@PublicEvolvingpublic interface OperatorStateStore { <K, V>原创 2021-05-07 15:48:54 · 785 阅读 · 0 评论 -
flink tm error
2021-05-03 14:16:47org.apache.flink.runtime.io.network.netty.exception.RemoteTransportException: Connection unexpectedly closed by remote task manager 'iZbp138pkl8lo4rs8xtvkhZ/172.16.211.184:42932'. This might indicate that the remote task manager was lo.转载 2021-05-03 14:39:31 · 1277 阅读 · 0 评论 -
flink 聚合函数代码研究
1、lag的FIX的代码: LeadLagAggFunction2、单元测试代码:OverWindowITCase.scala 可以查询相关测试@Test def testLagFunc(): Unit = { checkResult( "SELECT a, b, lag(b, 2, 3) over (partition by a order by b) FROM Table6", Seq( row(1, 1.1, ...原创 2021-04-28 22:06:37 · 737 阅读 · 0 评论 -
记一次flink出现延迟问题排查过程
1、线上运行正常的任务,突然发现某个kafka分区出现延迟持续在增加。2、下游算子的in_Q和out_Q都是在合理范围内。2、初步判断是source消费不过来,导致数据异常。同时观察倾斜的tps高,而且还延迟,初步判断该分区的数据在这个段时间内,流量陡增3\...原创 2021-04-26 17:48:04 · 1332 阅读 · 1 评论 -
flink lag和lead函数bug
1、https://issues.apache.org/jira/browse/FLINK-19449原创 2021-04-23 14:38:12 · 1788 阅读 · 2 评论 -
flink消费kafka 并行度和kafka的分区关系
1、从消费端看, 如果source的并行度大于kafka的分区,会导致多余的并行度消费不了数据,进而影响checkpoint,flink做checkpoint失败,所以一定不能大于分区数。2 、从消费端看, 如果source的并行度小于kafka的分区,会导致一个并行度消费多个kafka分区数据,如果数据量大的时候,吞吐率上不去。3、sink到kafka时,如果并行度大于kafka的分区数时,则会轮训把数据插入到kafka分区中,数据不会丢失。 4、sink到kafka时,如果...原创 2021-04-20 21:27:06 · 5929 阅读 · 2 评论 -
flink相关回撤流的信息
1、回撤流的信息\2、sql代码调试的情况package architecture;import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;import org.apache.flink.table.api.EnvironmentSettings;import org.apache.flink.table.api.bridge.java.StreamTableEnvironme..原创 2021-04-11 10:46:44 · 658 阅读 · 0 评论 -
flink 源码调试flinksql的 explain功能
1、因业务需要,需要把查看sql的执行计划,所以在代码里可以添加如下代码来查看相关数据,在 TableEnvironmentITCase测试类添加代码//todo 查看sql的解析语法 @Test def testExplainAndExecuteSingleSink2(): Unit = { val sinkPath = TestTableSourceSinks.createCsvTemporarySinkTable( tEnv, new TableSchema(Arr.原创 2021-04-09 19:14:11 · 679 阅读 · 0 评论