21.flink
目录 点击展开目录 - [目录](#目录) - [Flink 基础概念](#flink-基础概念) - [Flink 简介](#flink-简介) - [Flink 特点与优势](#flink-特点与优势) - [Flink 应用场景](#flink-应用场景) - [Flink 生态系统](#flink-生态系统) - [Flink 架构设计](#flink-架构设计) - [Flink 整体架构](#flink-整体架构) - [Flink 运行时架构](#flink-运行时架构) - [Flink 任务启动流程](#flink-任务启动流程) - [Flink 组件交互流程](#flink-组件交互流程) - [YARN 任务提交流程](#yarn-任务提交流程) - [YARN 资源管理流程](#yarn-资源管理流程) - [任务执行状态流转](#任务执行状态流转) - [故障恢复流程](#故障恢复流程) - [Flink 部署模式](#flink-部署模式) - [Flink 核心概念](#flink-核心概念) - [DataStream API](#datastream-api) - [DataStream API 基本架构](#datastream-api-基本架构) - [DataStream API 核心概念详解](#datastream-api-核心概念详解) - [DataStream API 高级特性](#datastream-api-高级特性) - [DataSet API](#dataset-api) - [DataSet API 基本使用](#dataset-api-基本使用) - [DataSet API 核心概念](#dataset-api-核心概念) - [Table API \& SQL](#table-api--sql) - [Table API 基本使用](#table-api-基本使用) - [Table API 核心概念](#table-api-核心概念) - [Table API 高级特性](#table-api-高级特性) - [流处理与批处理统一](#流处理与批处理统一) - [统一模型](#统一模型) - [统一API的优势](#统一api的优势) - [容错机制](#容错机制) - [检查点机制](#检查点机制) - [重启策略](#重启策略) - [性能优化](#性能优化) - [并行度设置](#并行度设置) - [资源管理](#资源管理) - [序列化优化](#序列化优化) - [DataSet API](#dataset-api-1) - [Table API \& SQL](#table-api--sql-1) - [时间语义](#时间语义) - [Watermark 机制详解](#watermark-机制详解) - [Watermark 基本概念](#watermark-基本概念) - [Watermark 生成策略](#watermark-生成策略) - [Watermark 传播机制](#watermark-传播机制) - [Watermark 与窗口触发](#watermark-与窗口触发) - [Watermark 延迟处理](#watermark-延迟处理) - [Watermark 监控与调试](#watermark-监控与调试) - [Watermark 最佳实践](#watermark-最佳实践) - [窗口机制](#窗口机制) - [窗口机制基本概念](#窗口机制基本概念) - [时间窗口详解](#时间窗口详解) - [计数窗口详解](#计数窗口详解) - [全局窗口详解](#全局窗口详解) - [窗口触发器详解](#窗口触发器详解) - [窗口驱逐器详解](#窗口驱逐器详解) - [窗口函数详解](#窗口函数详解) - [窗口机制最佳实践](#窗口机制最佳实践) - [状态管理](#状态管理) - [状态管理基本概念](#状态管理基本概念) - [键控状态详解](#键控状态详解) - [算子状态详解](#算子状态详解) - [广播状态详解](#广播状态详解) - [状态TTL(Time To Live)](#状态ttltime-to-live) - [状态管理最佳实践](#状态管理最佳实践) - [Flink 核心组件详解](#flink-核心组件详解) - [JobManager 源码分析](#jobmanager-源码分析) - [JobManager 启动流程](#jobmanager-启动流程) - [作业调度实现](#作业调度实现) - [检查点协调](#检查点协调) - [TaskManager 源码分析](#taskmanager-源码分析) - [TaskManager 启动流程](#taskmanager-启动流程) - [任务执行实现](#任务执行实现) - [内存管理](#内存管理) - [Flink 网络栈](#flink-网络栈) - [网络组件架构](#网络组件架构) - [数据传输机制](#数据传输机制) - [背压处理](#背压处理) - [Flink 状态后端](#flink-状态后端) - [MemoryStateBackend](#memorystatebackend) - [FsStateBackend](#fsstatebackend) - [RocksDBStateBackend](#rocksdbstatebackend) - [Flink 编程模型](#flink-编程模型) - [DataStream API 编程](#datastream-api-编程) - [数据源与数据汇](#数据源与数据汇) - [转换操作](#转换操作) - [窗口操作](#窗口操作) - [时间处理](#时间处理) - [Flink 常用算子详解](#flink-常用算子详解) - [数据源算子 (Source Operators)](#数据源算子-source-operators) - [1. 内置数据源](#1-内置数据源) - [2. 自定义数据源](#2-自定义数据源) - [转换算子 (Transformation Operators)](#转换算子-transformation-operators) - [1. 单流转换算子](#1-单流转换算子) - [2. 多流转换算子](#2-多流转换算子) - [3. 分区算子](#3-分区算子) - [4. 双流 Join 详解](#4-双流-join-详解) - [数据汇算子 (Sink Operators)](#数据汇算子-sink-operators) - [1. 内置数据汇](#1-内置数据汇) - [2. 自定义数据汇](#2-自定义数据汇) - [Flink 特有方法详解](#flink-特有方法详解) - [触发器 (Triggers)](#触发器-triggers) - [1. 内置触发器](#1-内置触发器) - [2. 自定义触发器](#2-自定义触发器) - [驱逐器 (Evictors)](#驱逐器-evictors) - [1. 内置驱逐器](#1-内置驱逐器) - [2. 自定义驱逐器](#2-自定义驱逐器) - [窗口分配器 (Window Assigners)](#窗口分配器-window-assigners) - [1. 内置窗口分配器](#1-内置窗口分配器) - [状态访问器 (State Accessors)](#状态访问器-state-accessors) - [1. 键控状态访问器](#1-键控状态访问器) - [2. 算子状态访问器](#2-算子状态访问器) - [时间服务 (Time Service)](#时间服务-time-service) - [侧输出流 (Side Outputs)](#侧输出流-side-outputs) - [Table API 编程](#table-api-编程) - [Table 环境配置](#table-环境配置) - [Table 操作](#table-操作) - [SQL 查询](#sql-查询) - [CEP 复杂事件处理](#cep-复杂事件处理) - [Pattern 定义](#pattern-定义) - [事件序列匹配](#事件序列匹配) - [CEP 应用场景](#cep-应用场景) - [Flink 性能优化](#flink-性能优化) - [资源配置优化](#资源配置优化) - [内存配置](#内存配置) - [并行度设置](#并行度设置-1) - [网络缓冲区](#网络缓冲区) - [状态管理优化](#状态管理优化) - [状态大小优化](#状态大小优化) - [状态访问优化](#状态访问优化) - [状态清理策略](#状态清理策略) - [检查点优化](#检查点优化) - [检查点间隔设置](#检查点间隔设置) - [检查点对齐](#检查点对齐) - [非对齐检查点](#非对齐检查点) - [背压处理优化](#背压处理优化) - [背压监控](#背压监控) - [背压缓解策略](#背压缓解策略) - [资源配置调整](#资源配置调整) - [Flink 运维与监控](#flink-运维与监控) - [集群部署](#集群部署) - [Standalone 部署](#standalone-部署) - [YARN 部署](#yarn-部署) - [Kubernetes 部署](#kubernetes-部署) - [监控管理](#监控管理) - [Metrics 监控](#metrics-监控) - [日志管理](#日志管理) - [告警配置](#告警配置) - [故障排查](#故障排查) - [常见问题诊断](#常见问题诊断) - [性能问题分析](#性能问题分析) - [故障恢复策略](#故障恢复策略) - [Flink 高级特性](#flink-高级特性) - [容错机制](#容错机制-1) - [检查点机制](#检查点机制-1) - [保存点机制](#保存点机制) - [故障恢复策略](#故障恢复策略-1) - [状态管理](#状态管理-1) - [键控状态](#键控状态) - [算子状态](#算子状态) - [广播状态](#广播状态) - [时间处理](#时间处理-1) - [事件时间](#事件时间) - [处理时间](#处理时间) - [摄入时间](#摄入时间) - [窗口计算](#窗口计算) - [时间窗口](#时间窗口) - [计数窗口](#计数窗口) - [会话窗口](#会话窗口) - [Flink 典型面试题与答疑](#flink-典型面试题与答疑) - [基础概念面试题](#基础概念面试题) - [1. Flink架构与特点](#1-flink架构与特点) - [2. 流处理vs批处理](#2-流处理vs批处理) - [3. 时间语义与窗口](#3-时间语义与窗口) - [核心组件面试题](#核心组件面试题) - [4. JobManager与TaskManager](#4-jobmanager与taskmanager) - [5. 状态管理与状态后端](#5-状态管理与状态后端) - [6. 检查点与容错](#6-检查点与容错) - [性能优化面试题](#性能优化面试题) - [7. 背压处理](#7-背压处理) - [8. 资源配置优化](#8-资源配置优化) - [9. 状态优化](#9-状态优化) - [实际应用面试题](#实际应用面试题) - [10. 实时数据处理流程](#10-实时数据处理流程) - [11. 性能调优实践](#11-性能调优实践) - [12. 最佳实践](#12-最佳实践) - [核心组件面试题](#核心组件面试题-1) - [6. JobManager与TaskManager](#6-jobmanager与taskmanager) - [7. 状态管理与状态后端](#7-状态管理与状态后端) - [8. 检查点与容错](#8-检查点与容错) - [9. 网络栈与数据传输](#9-网络栈与数据传输) - [10. 内存管理](#10-内存管理) - [性能优化面试题](#性能优化面试题-1) - [11. 背压处理](#11-背压处理) - [12. 资源配置优化](#12-资源配置优化) - [13. 状态优化](#13-状态优化) - [14. 检查点优化](#14-检查点优化) - [15. 序列化优化](#15-序列化优化) - [实际应用面试题](#实际应用面试题-1) - [16. 实时数据处理流程](#16-实时数据处理流程) - [17. 性能调优实践](#17-性能调优实践) - [18. 故障排查与监控](#18-故障排查与监控) - [19. 最佳实践总结](#19-最佳实践总结) - [20. 架构设计案例](#20-架构设计案例) - [面试技巧总结](#面试技巧总结) - [1. 技术深度](#1-技术深度) - [2. 技术广度](#2-技术广度) - [3. 问题解决能力](#3-问题解决能力) - [4. 学习能力](#4-学习能力) - [Flink 常见任务报错及解决办法](#flink-常见任务报错及解决办法) - [内存相关错误](#内存相关错误) - [1. OutOfMemoryError: Java heap space](#1-outofmemoryerror-java-heap-space) - [2. OutOfMemoryError: Direct buffer memory](#2-outofmemoryerror-direct-buffer-memory) - [3. OutOfMemoryError: Metaspace](#3-outofmemoryerror-metaspace) - [网络相关错误](#网络相关错误) - [1. ConnectionTimeoutException](#1-connectiontimeoutexception) - [2. BindException](#2-bindexception) - [序列化相关错误](#序列化相关错误) - [1. NotSerializableException](#1-notserializableexception) - [2. KryoSerializationException](#2-kryoserializationexception) - [状态相关错误](#状态相关错误) - [1. StateBackendException](#1-statebackendexception) - [2. CheckpointException](#2-checkpointexception) - [资源相关错误](#资源相关错误) - [1. NoResourceAvailableException](#1-noresourceavailableexception) - [2. ClassNotFoundException](#2-classnotfoundexception) - [数据源相关错误](#数据源相关错误) - [1. Kafka连接错误](#1-kafka连接错误) - [2. HDFS连接错误](#2-hdfs连接错误) - [调试和诊断工具](#调试和诊断工具) - [1. Flink Web UI](#1-flink-web-ui) - [2. 日志分析](#2-日志分析) - [3. 性能分析工具](#3-性能分析工具) - [4. 调试代码](#4-调试代码) - [预防措施](#预防措施) - [1. 配置优化](#1-配置优化) - [2. 代码最佳实践](#2-代码最佳实践) - [3. 监控告警](#3-监控告警) Flink 基础概念 Flink 简介 Flink 特点与优势 Apache Flink是一个开源的分布式流处理和批处理统一计算引擎,具有以下核心特点: ...