失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 如何解决生产环境 Flink 应用的技术难题?

如何解决生产环境 Flink 应用的技术难题?

时间:2018-07-25 07:50:42

相关推荐

如何解决生产环境 Flink 应用的技术难题?

大数据时代,数据已成为国家基础性战略资源。如何挖掘数据无穷潜力,将算力推至极致,是整个社会面临的难题。

Apache Flink 作为业界公认的领先的大数据计算引擎,不仅仅局限于做流处理,而是一套兼具流、批、机器学习等多种计算功能的大数据引擎。从承载搜索和推荐实时化开始,近年来 Flink 已经覆盖实时数仓、机器学习、风控等多个实时计算场景。不仅拥有全球领先的实时计算规模,Flink 还可以提供高吞吐低延时的优异实时计算能力,支持海量数据的亚秒级快速响应,能够帮助企业和开发者迅速实现数据算力升级。

更好地释放 Flink 的强大算力,需要解决哪些问题?如何进行技术选型?针对业务的特点如何进行相应改进? 实践过程中需要规避哪些坑?

12月13-15日,Flink Forward Asia 在线峰会核心技术专场,来自阿里巴巴、字节跳动、美团、领英、腾讯、第四范式先知等多位Apache Flink 核心贡献者与一线技术专家解析 Flink 技术动向与应用实践,回归技术本质,打造 Flink 全方位技术盛宴,分享生产环境实战经验总结。

▼ 扫码了解完整大会议程▼

(大会官网)

超大规模 Flink 调度优化

胡伟华 | 字节跳动基础架构工程师

辛朝晖 | 字节跳动基础架构工程师

在字节跳动内部,随着计算规模和单个作业并发度的增加,原有的 Flink 调度模式不能再满足。

首先在大规模集群下单机故障是不可避免的,我们需要黑名单机制来规避故障节点;其次作业规模增加导致启动时间增加,进而导致数据断流时间增加;最后在资源调度方面,希望 container 分布均匀,避免造成单机负载过高;希望分配后机器 quota 均衡避免碎片;还有就是调度时尽可能避开高 load 节点。

本次分享将介绍我们在 Flink 层面的优化以及 YARN 针对 Flink 做的优化。

1.黑名单机制

2.作业启动速度优化

3.Yarn Container 均衡调度、特性调度、反调度等

Single Task Failover and

Regional Checkpoint

廖嘉逸 | Apache Flink Contributor,字节跳动基础架构工程师

在大规模实时计算场景下,环境不稳定对作业带来的影响不可忽视。在字节跳动内部,单点恢复帮助上千个双流 Join 作业保证了稳定的样本输出,Regional Checkpoint 为数据集成作业提供了 Checkpoint 成功率的保障。本次演讲将从原理、痛点、改进以及收益等方面分享这两个功能。

1.业务在 Failover 以及 Checkpoint 上遇到的痛点

2.Flink 中网络传输以及 Checkpoint 机制及缺陷

3.单点恢复和 Regional Checkpoint 改进方案及收益

4.Checkpoint 其他的优化

Flink State Backend Improvements

and Evolution in the Recent Year

李钰 | Apache Flink & Apache HBase PMC Member,阿里巴巴实时计算存储引擎团队负责人

唐云 | Apache Flink Committer,阿里巴巴高级开发工程师

本次分享主要介绍 Flink 社区最近一年在 State Backend 方面的发展和改进,包含 State Backend 内存管理、RocksDB 生产可用性增强等一系列内容。

Flink 如何实时分析 Iceberg 数据湖的 CDC 数据

李劲松 | Apache Flink & Iceberg Committer,阿里巴巴技术专家

胡争 | Apache HBase PMC,Apache Iceberg Committer,阿里巴巴技术专家

大型企业一般都有海量的结构化数据存储在 MySQL 这样的关系型数据库中,采用离线批处理分析的方式已经无法提供更好的实时性。在云服务的大浪潮之下,数据湖也正在成为一个越来越热门的技术方向。

那么,我们如何在数据湖架构下为 CDC 数据提供更佳的实时性呢?本次分享将介绍我们如何基于 Flink+Iceberg 技术架构来构建实时的 CDC 数据湖。分享主要分为以下几点:

1.处理 CDC 数据有何难点?业界常见的方案有哪些?

2.我们为什么选择 Apache Iceberg ? Apache Flink 处理 CDC 数据有何优势?

3.我们如何实现 CDC 数据的写入和分析实时化?

4.总结及未来规划。

基于 Flink DataStream API 的流批一体处理

马国维 | Apache Flink Contributor ,阿里巴巴实时计算执行引擎团队负责人

高赟 | Apache Flink Contributor,阿里巴巴技术专家

本次议题主要介绍 Flink 1.12 在流批一体的 DataStream API 方面所取得的进展,主要包括两部分:

1.流批一体的 DataStream API 语义:如何在同一套接口中兼容流和批的语义。

2.流批一体的 Runtime 的实现:Flink Runtime 在调度、Shuffle、Connector 和算子等各方面为流和批两种执行模式提供了统一的支持。

Flink SQL 在字节跳动的优化&实践

李本超 | Apache Flink Committer,字节跳动架构研发工程师

1. 介绍 Flink SQL 在字节跳动落地的过程

2. 介绍字节跳动内部对于 Flink SQL 的一些扩展和优化

扩展支持多种 connector/formats

window 支持 mini batch

Temporal table function 支持 DDL、left outer join、慢流 watermark 更新

延迟维表 join

新增聚合指标允许从 checkpoint 恢复

支持 codegen 代码生成自动 split 超过64k长度的代码

3. 介绍字节跳动基于 Flink SQL 的批流统一的探索

4. 介绍字节跳动基于 Flink SQL 提供的实时计算平台

Flink 1.12 资源管理新特性

宋辛童 | Apache Flink Committer,阿里巴巴技术专家

郭旸泽 | Apache Flink Contributor,阿里巴巴高级开发工程师

本次演讲中,我们将介绍 Flink 1.12 中资源管理方面的新特性。包括:托管内存的使用方法(RocksDB、Python、内置 Batch 算法)、资源调度策略优化、扩展资源支持(GPU、FPGA)。

我们将介绍这些新特性的适用场景及使用方法,并进行 demo 演示。在演讲的最后,我们还将简要介绍 Flink 社区对未来版本中资源管理方面新特性的规划。

基于 LLVM 的高性能 Flink Native

执行引擎应用实践

陈迪豪 | 第四范式先知平台架构师

介绍基于 C++ 和 LLVM 实现的高性能 Flink Native 执行引擎,相比于 Flink 原生 Java 和 Scala 的物理计划实现,在 Flink SQL 部分场景达到惊人的60倍性能提升,对于离线不支持的 SQL 语法如 over window 等也能拓展支持。基于超高性能的 Native 执行引擎,介绍 Flink 在企业机器学习场景的落地与实践。

美团 Flink 可用性建设实践

孙梦瑶 | 美团高级开发工程师

基于美团的实际需求与实践,对“可用性”概念在实时计算领域的意义与基本定义进行探讨,介绍美团在 Flink 可用性建设上的解决方案与实践经验。具体分为:

1. 可用性对实时计算的意义;

2. 实时作业可用性定义与衡量;

3. Flink 在容错容灾上的设计;

4. 可用性优化方案与实践。

PyFlink 核心技术剖析及应用

付典 | Apache Flink PMC member, 阿里巴巴技术专家

本次演讲全面剖析 PyFlink 的核心技术,涉及到 PVM 如何与 JVM 进行通讯,PyFlink 如何基于 Apache Beam 构建 Python UDF 的支持,PyFlink 与 Pandas 的集成核心细节,以及 PyFlink 在 1.12 与大家见面的新功能,包括 Python DataStream API,process function,Timer 等的具体功能应用。

Flink SQL 的功能扩展与深度优化

杜立 | 腾讯资深工程师

随着Apache Flink在近几年的加速发展,越来越多的用户已将Apache Flink作为实时数据处理引擎的首选。Flink SQL作为Apache Flink的核心模块之一,极大降低了不同背景的用户在接入和使用Flink时的门槛。腾讯在内部应用过程中,针对现有的Flink SQL功能进行了大量的扩展与优化,包括基于Table Valued Function语法扩展在Window算子上更复杂的操作、Flink Retraction机制优化,等。该演讲将重点与听众分享这些扩展与优化的实现思路与技术细节,介绍腾讯内部的实践情况,以及现有的挑战与未来的规划。

从 Spark 做批处理到 Flink 做批流一体:

LinkedIn 的经验

张晨娅 | LinkedIn 高级研发工程师

为什么要做批流一体?我们从用户和运维角度出发希望进一步提高生产和工程效率。我们挑选了两类生产实践的重要场景进行评估,一个是机器学习的特征生成,一个是复杂数据工作流。其中着重对比分析了 Spark 和 Flink 做批处理的迁移难度、用户体验和工程表现。同时根据领英目前 Spark 做批处理的使用情况和特点,我们针对Spark 和 Flink 两个框架的资源调度和利用情况进行了分析比较,也提出关于 shuffle service 的几点建议。

以上为 FlinkForward Asia 在线峰会核心技术专场内容节选,了解更多大会详情及大会预约可点击「阅读原文」。12月13日,全球 38+ 一线厂商,70+ 优质议题,我们在 Flink Forward Asia 在线峰会等你~

Flink Forward Asia 赞助与合作

- 赞助商 -

- 合作伙伴 -

Flink 中文社区,Flink Forward Asia 官方发布渠道,由 Apache Flink PMC 运营管理,公众号将持续输出 Flink 最新社区动态,入门教程、Meetup 资讯、应用案例以及源码解析等内容,希望联合更多合作伙伴推动国内大数据技术发展。

▼关注 Flink 技术社区,获取更多技术干货▼

戳我,去 Flink Forward Asia !

如果觉得《如何解决生产环境 Flink 应用的技术难题?》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。