大数据Flink架构实践
John Zhao 查看讲师
百林哲咨询(北京)有限公司专家团队成员
Oracle中国有限公司高级技术顾问,华为认证讲师。
浏览:525次
详情 DETAILS

课程简介

Apache Flink项目是大数据处理领域最近冉冉升起的一颗新星,其不同于其他大数据项目的诸多特性吸引了越来越多人的关注。Apache Flink是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态计算,也可部署在各种集群环境,对各种大小的数据规模进行快速计算。

本次课程将深入分析Flink的关键技术与特性,加深学员对Flink的体系架构和生态圈组件的了解,同时结合MapReduce、Spark及Storm等大数据处理框架和业务场景,帮助学员熟悉大数据流处理与批处理的基本概念。

课程收益

1、帮助学员掌握掌握基于Flink的大数据的体系架构

2、帮助学员掌握Flink的安装与部署;

3、帮助学员掌握部署基于Flink的企业大数据平台环境的能力

受众人群

大数据的研发人员,大数据构师,大数据运维人员

课程周期

  2天(12H) 

课程大纲

标题

授课内容

一、大数据基础与流批一体

1. 大数据基础理论

(1) 什么是大数据?大数据存储与计算的特点

(2) 数据仓库与大数据

(3) 离线数仓与实时数仓

(4) OLTP与OLAP

2. 常见的大数据计算引擎及其架构

(1) 大数据离线计算引擎

① MapReduce

② Spark Core

③ Flink DataSet

(2) 大数据实时计算引擎

① Storm

② Spark Streaming

③ Flink DataStream

(3) 企业实时数仓应用案例

① 数仓架构设计思路

② 实时数仓架构

1) Lambda数仓架构

2) Kappa数仓架构

③ 基于Flink的流批一体架构

1) 基于Flink的流批一体数据湖架构

2) 流批一体的数据集成

3) 基于Flink的流批一体数仓架构

二、Flink的体系架构

1. Flink的体系架构与部署

(1) Flink的体系架构与生态圈系统

(2) Flink的安装与部署

(3) Flink的分布式缓存

(4) 对比:Flink、Storm和Spark Streaming

(5) 对比Flink的版本差异

2. Flink on Yarn的实现

(1) 什么是Yarn?与Yarn的体系架构

(2) Yarn的资源调度方式

(3) Flink on Yarn的两种模式

① 内存集中管理模式

② 内存Job管理模式

(4) Flink on Yarn两种模式的区别

3. Flink HA的实现

(1) 什么是HA?为什么需要HA?

(2) 大数据分布式协调框架ZooKeeper

① 什么是ZooKeeper

② 搭建ZooKeeper环境

③ ZooKeeper的特性

④ 实现分布式锁

(3) 部署Flink HA高可用架构环境

三、Flink开发基础

1. Flink开发入门

(1) Flink批处理开发

① Java版本WordCount

② Scala版本WordCount

(2) Flink流处理开发

① Java版本WordCount

② Scala版本WordCount

(3) 使用Flink Scala Shell

(4) Flink的并行度分析

2. Flink DataSet API与DataStreaming API开发

(1) DataSet API的常用算子

(2) DataStream API

① DataSources

1) 基本的数据源示例

2) 自定义数据源

3) 内置的Connector

② DataStream Transformation 转换操作

③ Data Sinks

3. 开发Flink Table & SQL程序

(1) Flink Table & SQL简介

(2) 开发Flink Table & SQL程序

(3) 使用Flink SQL Client

4. 使用Flink CEP

(1) Flink CEP概述

(2) Pattern API

① 个体模式

② 复合模式

③ 模式组

④ 匹配后跳过策略

(3) 模式的检测

(4) 应用实例

四、Flink开发进阶

 

1. Flink的状态管理和恢复

(1) 状态:State

① Keyed State

② Operator State

(2) 检查点与容错

① 检查点的配置:

② state backend存储模式

③ 修改State Backend的两种方式

(3) Restart Strategies(重启策略)

2. Flink流处理中的Window和Time

(1) 窗口:Window

① Time Window示例

② Count Window示例

(2) Time:时间

(3) WaterMark:水位线

① Watermark的原理

② Watermark的三种使用情况

③ 设置Watermark的核心代码

④ 窗口的allowedLateness

3. CDC变更数据捕获

(1) 什么是Flink CDC?

(2) 数据库的日志

① MySQL binlog日志

② Oracle redo日志

③ MongoDB Oplog日志

(3) Flink CDC的类型

① DataStream方式

② Flink SQL方式

③ 自定义反序列化器

(4) Flink CDC 1.0 存在的问题

① 一致性通过加锁保证

② 不支持水平拓展

③ 全量读取阶段不支持ckeckpoint

(5) Flink CDC 2.0 的新特性

① MySQL CDC 连接器改进

② 新增 Oracle CDC 连接器

③ 新增 MongoDB CDC 连接器

五、云原生环境下的Flink集群

1. 云原生技术核心:Docker

(1) Docker与Kubernetes基础

(2) Docker的体系架构与运行

(3) Docker的镜像与容器

2. 云原生技术核心:Kubernetes

(1) Kubernetes的体系架构

(2) Kubernetes的组件

(3) 在K8s中部署应用

(4) K8s中的Pod

3. 集成Flink与Kubernetes

(1) Flink on Kubernetes的整体架构

(2) Flink on Kubernetes的交互原理

(3) Standalone Kubernetes

① Application Mode原理与优缺点

② Per-Job Mode原理与优缺点

③ Session Mode原理与优缺点

(4) Native Kubernetes

① Application Mode原理与优缺点

② Per-Job Mode原理与优缺点

③ Session Mode原理与优缺点

六、集成Flink、Flink的监控优化与实战

1. Flink与外部系统的集成

(1) Flink与Kafka

① Kafka的体系架构

② Kafka消息机制的读写原理

③ Kafka的生产者与消费者

④ 集成Flink与Kafka

(2) 集成Flink与Redis

2. Flink的监控与优化

(1) 监控指标

① 系监控指标

② 监控指标注册

③ 监控指标报表

(2) Backpressure监控与优化

① Backpressure进程抽样

② Backpressure页面监控

③ Backpressure配置  

(3) Checkpointing监控与优化

① Checkpointing页面监控

② Checkpointing优化

(4) Flink内存优化

① Flink内存配置

② Network Buffers配置


企业服务热线:400-106-2080
电话:18519192882
投诉建议邮箱:venus@bailinzhe.com
合作邮箱:service@bailinzhe.com
总部地址:
北京市-丰台区-汽车博物馆东路6号3号楼1单元902-B73(园区)
全国客户服务中心:
天津市-南开区-桂苑路15号鑫茂集团鑫茂军民园1号楼A座802-803
公众号
百林哲咨询(北京)有限公司 京ICP备2022035414号-1