摘要:
《深入浅出 Yarn 架构与实现》 1-1 设计理念与基本架构 1-2 搭建 Hadoop 源码阅读环境 2-1 Yarn 基础库概述 2-2 Yarn 基础库 - 底层通信库 RPC 2-3 Yarn 基础库 - 服务库与事件库 2-4 Yarn 基础库 - 状态机库 3-1 Yarn Appli 阅读全文
摘要:
如果让你来做一个有状态流式应用的故障恢复,你会如何来做呢?
单机和多机会遇到什么不同的问题?
Flink Checkpoint 是做什么用的?原理是什么? 阅读全文
摘要:
单线程和多线程下的单例模式 阅读全文
摘要:
前面文章我们学习了编译器前端的词法和语法分析工具,本篇我们来看看如何借助 Antlr 工具,快速生成词法和语法分析代码。 阅读全文
摘要:
重点:
语法分析的原理
递归下降算法(Recursive Descent Parsing)
上下文无关文法(Context-free Grammar,CFG)
上一篇「词法分析器」将字符串拆分为了一个一个的 token。
本篇我们将 token 变成语法树。 阅读全文
摘要:
带你手工打造词法分析器 阅读全文
摘要:
- 什么是状态?状态有什么作用?
- 如果你来设计,对于一个流式服务,如何根据不断输入的数据计算呢?
- 又如何做故障恢复呢? 阅读全文
摘要:
前一章我们对 Flink 进行了总体的介绍。对 Flink 是什么、能做什么、入门 demo、架构等进行了讲解。
本章我们将学习 Flink 重点概念、核心特性等。
本篇对 Flink 四大基石进行概括介绍,是 Flink 中非常关键的四个内容。 阅读全文
摘要:
前面几篇文章带大家了解了 Flink 是什么、能做什么,本篇将带大家了解 Flink 究竟是如何完成这些的,Flink 本身架构是什么样的,让大家先对 Flink 有整体认知,便于后期理解。 阅读全文
摘要:
本篇文章将带大家运行 Flink 最简单的程序 WordCount。先实践后理论,对其基本输入输出、编程代码有初步了解,后续篇章再对 Flink 的各种概念和架构进行介绍。
下面将从创建项目开始,介绍如何创建出一个 Flink 项目;然后从 DataStream 流处理和 FlinkSQL 执行两种方式来带大家学习 WordCount 程序的开发。 阅读全文
摘要:
在后面学习 Flink 相关知识时,会深入源码探究其实现机制。因此,需要现在本地配置好源码阅读环境。
本文搭建环境:
● Mac M1(Apple Silicon)
● Java 8
● IDEA
● Flink 官方源码 阅读全文
摘要:
流处理和批处理是什么?
什么是 Flink?为什么要学习 Flink?
Flink 有什么特点,能做什么?
本文将为你解答以上问题。 阅读全文
摘要:
本文将深入探讨 AM 向 RM 申请并获得 Container 资源后,在 NM 节点上如何启动和清理 Container。将详细分析整个过程的源码实现。 阅读全文
摘要:
不要跳过这部分知识,对了解 NodeManager 本地目录结构,和熟悉 Container 启动流程有帮助。 阅读全文
摘要:
NodeManager(NM)中的状态机分为三类:Application、Container 和 LocalizedResource,它们均直接或者间接参与维护一个应用程序的生命周期。 阅读全文
摘要:
本节开始将对 Yarn 中的 NodeManager 服务进行剖析。
NodeManager 需要在每个计算节点上运行,与 ResourceManager 和 ApplicationMaster 进行交互。管理节点的计算资源以及调度容器。后续将对 NM 的功能职责、状态机、容器生命周期和资源隔离等方面进行讲解。本篇将从整体上对 NM 进行介绍。 阅读全文