FLINK June 08, 2021

Flink自定义窗口触发器

Words count 16k Reading time 14 mins.

flink: 1.10.1

Github: https://github.com/shirukai/flink-examples-trigger.git

前段时间同事开发遇到一个需求,要求按照事件...

Read article

FLINK November 02, 2020

Flink在k8s生产环境高可用部署

Words count 25k Reading time 23 mins.

flink: 1.10.1

kubernetes: 1.18.8

目前参与的项目基本开发完成,打算开发的微服务和Flink任务统一部署到k8s上。之前几个项目都是跑在YARN上,Flink on YARN的部署模式是在生产中比较常见,YARN的稳定性和资源调度能力也是有目共睹的,依托Hadoop生态Flink高可用也很容易实现。关于On YARN

还是On K8S之前文章都有介绍,《Flink Cluster On YARN部署》和《Flink Cluster On Kubernetes部署...

Read article

FLINK October 31, 2020

Flink Cluster On Kubernetes部署

Words count 23k Reading time 21 mins.

Flink版本:1.10.1

kubernetes:1.16.5

Flink 在Kubernetes上部署分为Job cluster和Session cluster两种模式。Job cluster需要我们将自己的Jar打到flink镜像里一块部署,session模式可以启动cluster之后,我们再提交jar到session cluster。

在YARN模式部署的文章里,我们是直接从官网下载编译后的包进行部署的。由于Job Cluster模式需要我们重新打镜像,在环境准备这一部分,我们尝试...

Read article

FLINK September 21, 2020

Flink Cluster On YARN部署

Words count 16k Reading time 15 mins.

Flink版本:1.8.2

Hadoop: 3.0.3

参考文章:

文中关于Per-Job、Session模式的描述摘自《Deploy Apache Flink® Natively on YARN/Kubernetes》 https://ververica.cn/developers/deploy-apache-flink-natively-on-yarn-kubernetes/

Flink在YARN上部署有两种模式,一种是Session模式,另一种是Per-Job模式。

Yarn 模式运行...

Read article

FLINK September 20, 2020

Flink算子扩缩容过程中的状态迁移

Words count 38k Reading time 35 mins.

根据数据量动态调整Flink应用的算子并行度,在实际业务应用中很常见。对于无状态的算子来说,更改算子并行度非常的容易。但对于有状态的算子来说,调整算子并行度时,需要考虑状态的重新分配。之前文章里提到,Flink中的状态分为键值分区状态、算子列表状态、算子聚合状态、广播状态,那么这些状态在并行度改变时,是如何在子任务实例间迁移的?这篇文章,将分别使用代码示例介绍这四种状态的迁移过程。

键值分区状态,是应用在KeyedStream上的算子里使用的状态,关于状态的知识,可以参考我的另一篇博客:https...

Read article

FLINK August 24, 2020

Flink DataStream API之Operators

Words count 21k Reading time 19 mins.

官网位置:https://ci.apache.org/projects/flink/flink-docs-release-1.9/zh/dev/stream/operators/

Operators transform one or more DataStreams into a new DataStream. Programs can combine multiple transformations into sophisticated dataflow topologies.

算子可以将一个...

Read article

FLINK August 24, 2020

Flink DataStream API之State

Words count 46k Reading time 42 mins.

无论StructuredStreaming还是Flink在流处理的过程中都有一个“有状态计算“的概念,那么到底什么是有状态计算,有状态计算应用到什么场景,在Flink的DataStream API中如何使用状态,以及在Flink中状态是如何管理的,在这篇文章中,我们一点一点来学习。

在讲什么是有状态计算之前,先简单说一下什么是无状态计算,在我理解,无状态计算是指本次计算结果与之前输出无关的计算。比如说,设备开关量的问题,假设我消息队列中存放的消息是每个设备的开关量信息,包含:设备ID,以及设备的...

Read article

FLINK June 26, 2020

Flink中使用嵌入式Kafka进行单元测试

Words count 0 Reading time 1 mins.

FLINK June 23, 2020

Flink中使用嵌入式ElasticSearch进行单元测试

Words count 39k Reading time 35 mins.

Flink版本 1.8.0

ElasticSearch版本 5.1.2

Scala版本 2.11.12

Java版本 1.8

Github地址:https://github.com/shirukai/flink-examples-embedded-elasticsearch.git

前些时间同学在群里问关于ElasticSearch的单元测试,如何mock。当时看到这个问题,我想的是mock一个写ElasticSearch的客户端的类?但是一直没想好怎么实现,这个问题一直困扰我。刚好最近接手...

Read article

FLINK June 17, 2020

调试Local模式下带状态的Flink任务

Words count 21k Reading time 19 mins.

Flink版本: 1.8.0

Scala版本: 2.11

Github地址:https://github.com/shirukai/flink-examples-debug-state.git

在本地开发带状态的Flink任务时,经常会遇到这样的问题,需要验证状态是否生效?以及重启应用之后,状态里的数据能否从checkpoint的恢复?首先要明确的是,Flink重启时不会自动加载状态,需要我们手动指定checkpoint路径。笔者从Spark的Structured Streaming转到Flink...

Read article
0%