背景 Flink 版本 1.13.3,使用 native k8s 部署模式,原采用 HDFS 作为状态快照(Checkpoint.Savepoint)的存储地址,但是由于仅使用了其 HDFS 作为状态快照存储地址,且 Hadoop 框架较重,在 k8s 集群中占用大量资源,现考虑将其替换为更轻量级的分布式文件系统--NFS. 状态后端参数设置 从 Flink1.13 开始,状态后端分为两种:HashMapStateBackend.EmbeddedRocksDBStateBackend.如果不显示…
摘自Apache官网 一.State的基本概念 什么叫State?搜了一把叫做状态机制.可以用作以下用途.为了保证 at least once, exactly once,Flink引入了State和Checkpoint 某个task/operator某时刻的中间结果 快照(snapshot) 程序一旦crash,恢复用的 机器学习模型的参数 二.Flink中包含的State Keyed State和Opreator State 1.Keyed State基于KeyedStream的状态.这个状…
分布式流处理是对无边界数据集进行连续不断的处理.聚合和分析.它跟MapReduce一样是一种通用计算,但我们期望延迟在毫秒或者秒级别.这类系统一般采用有向无环图(DAG). DAG是任务链的图形化表示,我们用它来描述流处理作业的拓扑.如下图,数据从sources流经处理任务链到sinks.单机可以运行DAG,但本篇文章主要聚焦在多台机器上运行DAG的情况. 关注点 当选择不同的流处理系统时,有以下几点需要注意的: 运行时和编程模型:平台框架提供的编程模型决定了许多特色功能,编程模型要足够处理各种…
Percona XtraDB Cluster(下称PXC)高可用集群支持任意节点在运行期间的重启,升级或者意外宕机,即它解决了单点故障问题.那在这个意外宕机或者重启期间,该节点丢失的数据如何再次进行同步呢?本文介绍了在节点故障和重启PXC如何实现高可用以及状态快照传输的几种方法优缺点. 一.高可用 在具有3个节点的基本设置中,如果您关闭任何节点,Percona XtraDB集群将继续运行.在任何时候,您都可以关闭任何节点来执行维护或进行配置更改.即使在非计划的情况下(如节点崩溃或者通过网络无法使…
状态管理 之前我们提到过大多数流应用是有状态的.很多operators会不断的访问并更新某中状态,例如一个window中收集了多少条记录,输入源中当前读到的位置,亦或是用户定义的特定operators的状态.无论是内置的operator还是用户定义的operators,Flink对待它们都是一致的.在这章我们会讨论Flink 支持的不同的状态类型.state是如何被存储并由state backends管理的,以及有状态的应用如何通过重新分发state而进行扩展. 一般来说,所有数据都由一个tas…
删除pod,pod一直处于Terminating状态 [root@yxz-cluster01 deploy_yaml]# kubectl get pod -n yunanbao NAME READY STATUS RESTARTS AGE yxz-script-77974f5dc8-5qw9v 0/1 Terminating 5 40m 解决办法 强制删除: kubectl delete pod [pod name] --force --grace-period=0 -n [namespace]…
Pod 本身并不能自愈(self-healing).如果一个 Pod 所在的 Node (节点)出现故障,或者调度程序自身出现故障,Pod 将被删除:同理,当因为节点资源不够或节点维护而驱逐 Pod 时,Pod 也将被删除.Kubernetes 通过引入 Controller(控制器)的概念来管理 Pod 实例.在 Kubernetes 中,更为推荐的做法是使用 Controller 来管理 Pod,而不是直接创建 Pod. 用户应该始终使用控制器来创建 Pod,而不是直接创建 Pod,控制器可…
HDFS CheckPoint && SavePoint 标签(空格分隔): Hadoop HDFS CheckPoint HDFS 将文件系统的元数据信息存放在 fsimage 和一系列的 edits 文件中. 在启动 HDFS 集群时,系统会先加载 fsimage,然后逐个执行所有Edits文件中的每一条操作,来获取完整的文件系统元数据. 文件 HDFS 的存储元数据是由 fsimage 和 edits 文件组成.fsimage 存放上次 checkpoint 生成的文件系统元数据(并…
Checkpoint触发机制 Flink的checkpoint是通过定时器周期性触发的.checkpoint触发最关键的类是CheckpointCoordinator,称它为检查点协调器. org.apache.flink.runtime.checkpoint.CheckpointCoordinator CheckpointCoordinator主要作用是协调operators和state的分布式快照.它通过向相关的tasks发送触发消息和从各tasks收集确认消息(Ack)来完成checkpo…
一.从何说起 State要能发挥作用,就需要持久化到可靠存储中,flink中持久化的动作就是checkpointing,那么从TM中执行的Task的基类StreamTask的checkpoint逻辑说起. 1.streamTask StreamTask protected OperatorChain<OUT, OP> operatorChain; CheckpointStreamFactory createCheckpointStreamFactory(StreamOperator<?&…