Apache Flink 进阶:Checkpoint 原理剖析与应用实践

文/唐云

Checkpoint 与 state 的关系

Checkpoint 是从 source 触发到下游所有节点完成的一次全局操作。下图1可以有一个对 Checkpoint 的直观感受,红框里面可以看到一共触发了 569K 次 Checkpoint,然后全部都成功完成,没有 fail 的。

图1 Flink WebUI上有关checkpoint的统计

state 其实就是 Checkpoint 所做的主要持久化备份的主要数据,看下图的具体数据统计,其 state 也就 9kb 大小。

图2 Flink WebUI上有关checkpoint的统计

面向LSM-tree结构的内存管理——从一篇Fast'14的论文说起

文/兰兆千

LSM-tree结构

LSM-Tree全称是Log Structured Merge Tree,是一种分层,有序,面向磁盘的数据结构。基于LSM-Tree的LevelDB、RocksDB与HBase等凭借其出色的写入性能与不俗的读性能,成为了众多分布式系统的存储基石。
LSM-Tree的基本思想可以概括为顺序写入与逐级压缩。如图1所示是最原始的LSM-Tree结构,数据的存储可以分为数层。最上层是由内存组成的原地更新(in place update)的排序树,下方的各层为基于磁盘块组成的数据追加(append only)的B树。
图1 LSM-Tree示意图(来源[1])

KeySelector的确定性问题

文/李鹏飞

Flink支持自定义KeySelector,从注释(见下图)可以看到对于同一个input要保证多次调用获取的key是相同的,否则作业会遇到异常和正确性问题。

Flink KeySelector相关代码注释

阿里巴巴 Flink 踩坑经验:如何大幅降低 HDFS 压力?

文/邱从贤

众所周知,Flink 是当前最为广泛使用的计算引擎之一,它使用 checkpoint 机制进行容错处理 [1],checkpoint 会将状态快照备份到分布式存储系统,供后续恢复使用。在 Alibaba 内部,我们使用的存储主要是 HDFS,当同一个集群的 Job 到达一定数量后,会对 HDFS 造成非常大的压力,本文将介绍一种大幅度降低 HDFS 压力的方法——小文件合并。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×