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

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

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

12月13-15日,Flink Forward Asia 2020 在线峰会核心技术专场,来自阿里巴巴、字节跳动、美团、领英、腾讯、第四范式先知等多位 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 的几点建议。

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


Flink Forward Asia 2020 赞助与合作

- 赞助商 - 

- 合作伙伴 - 

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

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

戳我,去 Flink Forward Asia 2020!

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

  1. 解决生产环境一次tomcat无故宕机的诡异问题

    文章目录 前言 一.问题描述 二.排查步骤 1.先排查一下是不是代码的不规范导致JVM内存溢出 1.先用jstat -gc 命令查看下内存使用情况 2.使用jmap 查看下内存配置 通过以上发现内存使 ...

  2. 使用Windbg找出死锁,解决生产环境中运行的软件不响应请求的问题

    使用Windbg找出死锁,解决生产环境中运行的软件不响应请求的问题 参考文章: (1)使用Windbg找出死锁,解决生产环境中运行的软件不响应请求的问题 (2)https://www.cnblogs. ...

  3. Vue Nginx反向代理配置 解决生产环境跨域

    Vue本地代理举例: module.exports = {publicPath: './',devServer: {proxy: {'/api': {target: 'https://movie.do ...

  4. Vue代理解决生产环境跨域问题

    当我们前端要调用跨域接口时,我们需要用代理解决跨域问题,比如Vue的代理配置proxy,但是当Vue项目打包成静态文件时,他的代理也就失灵了,因为代理的前提是本地必须有service,本章讲一下生产环 ...

  5. Vue代理解决生产环境跨域问题 部署必备干货

    当我们前端要调用跨域接口时,我们需要用代理解决跨域问题,比如Vue的代理配置proxy,但是当Vue项目打包成静态文件时,他的代理也就失灵了,因为代理的前提是本地必须有service,本章讲一下生产环 ...

  6. 解决生产环境上日志报事务回滚的问题

    日志报错代码 : [10-6-12 9:44:01:602 GMT+08:00] 0000004d LocalTranCoor W WLTC0033W: 清除 LocalTransactionCont ...

  7. 如何解决在线医疗语音问诊的技术难题 | 以眩晕问诊为例

    1. 需求分析与业务理解 1.1 临床诊断流程 根据临床经验,眩晕的临床诊断是有固定流程的,如下图所示: 参考来源:吉林大学中日联谊医院耳鼻咽喉头颈外科 郑军 眩晕概述 1.2 临床痛点 根据临床经验 ...

  8. Tomcat学习总结(8)——Tomcat+Nginx集群解决均衡负载及生产环境热部署

    近日,为解决生产环境热部署问题,决定在服务器中增加一个tomcat组成集群,利用集群解决热部署问题.

  9. Vue项目生产环境解决跨域问题

    一.前言 第一次写vue项目,开发完成.打包上线后,一访问,发现访问后端的请求全部报404.我就纳闷了,跨域问题我已经解决了,怎么就报错了.查阅资料,得知我解决的跨域仅适用于开发环境. ememem. ...

  10. java生产问题快速定位_生产环境如何快速跟踪、分析、定位问题-Java

    我相信做技术的都会遇到过这样的问题,生产环境服务遇到宕机的情况下如何去分析问题?比如说JVM内存爆掉.CPU持续高位运行.线程被夯住或线程deadlocks,面对这样的问题,如何在生产环境第一时间跟踪 ...

最新文章

  1. 解决Attempt to execute SCRIPT mexLasso as a function
  2. 给Eclipse提速的7个技巧(转)
  3. Zabbix 安装部署
  4. flutter利用高德如何获取地理位置信息bug处理
  5. varchar 保存英文中文区别。
  6. propertysource注解 找不到文件_WinXP系统电脑开机提示windows找不到null文件的解决方法...
  7. html5调盒子边框大小,CSS3 - 盒子大小(CSS3 - Box Sizing)
  8. 电话光端机安装步骤详解
  9. 2021辽宁高考艺考成绩查询系统入口,2019年辽宁省艺考统考成绩查询官方入口
  10. 趣说游戏AI开发:对状态机的褒扬和批判
  11. 词云-vue-wordcloud组件封装
  12. 学习日报 1026 使用属性升级MyBank
  13. 百年古董电影秒变4K高清、60FPS,AI插值,还能着色
  14. mongoimport csv文件
  15. 【python基础】--常用数据结构
  16. bzoj 3123 [Sdoi2013]森林
  17. SQLCODE 错误对照表
  18. vue 函数(二):callback回调函数
  19. 企业微信的好处和功能介绍 | 最新企业微信电脑版下载
  20. ps粘贴图片模糊怎么破

热门文章

  1. Java进阶:SpringMVC中放行静态资源
  2. Vue:vue借助全局过滤器、moment、实现实时更新时间
  3. Cesium:向地图中添加面的方法
  4. 正则表达式:基础知识学习
  5. linux 命令行字符缩放,用Linux命令行修图——缩放、编辑、转换格式
  6. easyui下拉选项多怎么解决_30岁以后皮肤松弛皱纹越来越多怎么办?这组瑜伽帮你解决...
  7. 休宁天气预报软件测试,【休宁天气预报】休宁今天天气预报 - 天气史
  8. Windows Server2012 64位安装OpenSSH服务
  9. ubuntu16.04环境下使用ros运行ORB-SLAM3
  10. 论文笔记_S2D.29_2017_CVPR_多尺度连续CRFs作为序列深度网络的单目深度估计