当前位置:首页 > 报告详情

8-3 Flink 作业的稳定性优化实践.pdf

上传人: 云闲 编号:102425 2021-01-01 27页 1.75MB

1、FLINK 作业的稳定性优化实践邱从贤 腾讯高级开发工程师/Apache Flink Committer|01Flink在腾讯的应用在腾讯的应用02Flink的稳定性介绍的稳定性介绍03稳定性的优化实践稳定性的优化实践04总结总结&展望展望目录目录CONTENT|Flink 在腾讯的应用01|实时计算的应用|Oceanus 平台概况JarSQLCanvasConfigurationTextDeploymentMonitoringFlinkMQYarn/K8SHDFSZooKeeperMQOLAPOnlineServiceOceanus实时计算的应用|营销分析、指标提升运营监控、商业决策产品改进

2、、体验升级从Business Intelligence走向Continuous Intelligence实时计算的应用|在线服务消息队列实时用户行为离线存储推理服务样本拼接模型存储样本存储特征存储离线特征计算实时特征计算oceanustdbankHDFSusDBServiceCache典型应用消息队列Flink 的稳定性介绍02|稳定性介绍|Flink 作业概况HDFSmasterTask-2Task-3Task-1HA 相关心跳checkpoint数据传输稳定性介绍|Flink 作业稳定性可能的影响方面第三方系统YarnContainer 数量Container 的资源使用(CPU,Memo

3、ry,链接数等)HDFS存储量访问量ZooKeeper连接数Flink控制链路Master 和 worker 通信Checkpoint 流程数据链路数据热点反压Flink Bug用户逻辑异常稳定性优化实践03|稳定性优化实践|稳定性减少故障优化 ZooKeeperHA 协议Checkpoint 小文件合并降低影响空间上单点重启Master failover时间上作业启动加速快速发现&恢复自动诊断系统减少故障优化 Zookeeper HA 协议|masterTask-2Task-3Task-1masterTask-2Task-3Task-1优化前优化后减少故障优化 Zookeeper HA 协议

4、|masterTask-2Task-3Task-1masterTask-2Task-3Task-1master减少故障优化 Zookeeper HA 协议|单计算集群中 ZooKeeper 的连接数多个计算集群共用一个 ZooKeeper 集群masterTask-2Task-3Task-1masterTask-2Task-3Task-1masterTask-2Task-3Task-1010000200003000026154583降低影响单点重启|HDFSmasterYarnTask-2Task-3Task-1Task-2Task-3Task-11 master 监听 Task 执行状态2

5、master 发现 task-2 异常后取消所有 Task 的执行3 Master 从 ZK 上读取最新检查点地址4 Mater 从 HDFS 上读取检查点元数据5 Master 部署Task 并告知所需恢复的状态Task failover 流程减少故障单点重启|Flink 对网络传输的大量优化,使得网络连接的重置变得困难挑战一:Flink 基于 Buffer 而非Record 进行网络传输,Task 对数据的序列化和反序列化是有状态的。在 Task 中残留数据会导致数据序列化/反序列化异常。如何正常清理网络传输中的残留数据挑战二:Flink 网络传输中存在反压机制。如何避免 Task 由于反

6、压导致无法响应网络重置请求减少故障单点重启|Task-1Task-5Task-2Task-4Task-3Task-1Task-5Task-2Task-4Task-3Master1 故障探测上游 Task 发现 Task 故障后,将对应的网络管道(ResultSubpartition)设置为挂起状态,下游 Task 发现 Task 故障后,忽略异常2 重置上游网络连接Master 向故障 Task 的所有上游发送重置命令,重置发往故障 Task 的网络管道减少故障单点重启|Task-1Task-5Task-2Task

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要探讨了Apache Flink在腾讯的应用及稳定性优化实践。腾讯的实时计算平台Oceanus基于Flink构建,用于营销分析、运营监控和产品改进等。文章首先介绍了Flink在腾讯的应用场景,包括Oceanus平台概况和典型应用。然后,阐述了Flink的稳定性介绍,分析了稳定性优化的必要性,并提出了稳定性优化的实践方法。 核心数据包括:作业稳定性优化实践后,故障恢复时间从201秒减少到48秒,网络连接的重置问题得到有效解决,保证了作业在出现故障时能够快速恢复,提高了系统的稳定性。 关键点包括: 1. Flink基于Buffer进行网络传输,优化了网络连接的重置问题,避免了数据序列化/反序列化异常。 2. 引入了反压机制,避免了Task由于反压导致无法响应网络重置请求。 3. 优化了分布式协议,减少了Master主线程处理Task启动阶段的RPC请求,合并了Jar包,减少了Container启动所需的文件数目。 4. 引入了自动诊断系统,实现了快速的故障感知和处理,提高了系统的稳定性。 展望未来,文章提出了进一步优化稳定性的方向,包括无损单点重启、大状态快速恢复等。
Flink如何优化稳定性实践? Flink在腾讯应用的案例分享 如何提高Flink作业的稳定性?
客服
商务合作
小程序
服务号
折叠