《邸星星-基于Flink的实时计算平台3.0建设实践.pdf》由会员分享,可在线阅读,更多相关《邸星星-基于Flink的实时计算平台3.0建设实践.pdf(47页珍藏版)》请在三个皮匠报告上搜索。
1、邸星星/汽车之家基于基于FlinkFlink的实时计算平台的实时计算平台3.03.0建设实践建设实践应用场景应用场景预算资源管控预算资源管控FlinkFlink伸缩容伸缩容湖仓一体湖仓一体PyFlinkPyFlink实践实践#1#2#3#4#5#1#1应用场景与平台现状应用场景与平台现状流量分析、车展大屏、818大屏实时指标统计145632应用日志监控、视频播放质量监控预警内容中台、资源池实时数据处理智能推荐、智能搜索、实时画像、风控实时用户行为流量、日志、业务数据分钟级入湖实时入湖数据接入/分发平台、实时多维分析实时数据传输应用场景平台建设历程回顾基础的实时计算能力基于Spout、Bolt模
2、型编码开发StormStorm基于Flink1.7扩展DDL,支持SQL开发模式支持多种Connector引入Flink1.9支持原生DDL自助UDF诊断、健康评分高可用AutoStream2.0AutoStream2.0引入Flink1.12湖仓一体Native on k8sPyFlink智能伸缩容AutoStream1.0AutoStream1.0AutoStream3.0AutoStream3.0AutoStream2.0AutoStream2.0回顾回顾痛点预算没有强控,资源浪费资源管控资源管控需要反复调整任务资源数据实时入湖湖仓生态湖仓生态人工智能团队难以上手开发调优成本调优成本仅支
3、持仅支持JavaJavaKubernetesPyFlinkFlinkClient ServiceSQL IDE任务管理健康检查任务诊断预算管控自动伸缩容YARNZookeeperHDFSMeta Server脚本管理/CIIcebergStarRocksTiDBMySQLElasticsearchRedis权限管理监控报警AutoStream 3.0整体介绍整体介绍#2 2FlinkFlink预算资源管控策略预算资源管控策略服务器资源没有按团队划分,先用先得任务资源利用率低,存在浪费用户主动优化资源意识薄弱背景背景初始化团队占用预算团队间预算调拨白名单启用预算强控机制启用预算强控机制CPU使用
4、率内存使用率空闲SLOT识别识别低利用率任务低利用率任务运营机制及收益#流程规范全年没有新增服务器严控低利用率任务占比,规范用户主动优化利用率引入自动伸缩容,降低调优成本#技术升级#收益#3 3FlinkFlink自动伸缩容功能自动伸缩容功能背景介绍#1 提升资源利用率#2 降低优化成本#3 降低资源调优对任务稳定性的影响功能页面展示架构设计2.请求伸缩容RescaleCoordinatorHDFS&ZK0.从 Prometheus拉取metric,计算各项健康评分DispatcherJobMasterResourceManager3.通知某个任务伸缩容4.请求新的TM1.定期检查是否需要伸缩
5、容TaskManagerTaskManager5.创建TaskManager6.注册到JobMaster7.待所有的TM就绪,开始“重启”任务,真正执行伸缩容操作平台服务Prometheus8.将伸缩容后的状态持久化实现思路1.先向ResourceManager申请TM Container,并为其打上标记cpu:1核内存:1Gcpu:2核内存:2Gcpu:1核内存:1G实现思路2.停掉任务,删除ExecutionGraphcpu:1核内存:1Gcpu:2核内存:2Gcpu:1核内存:1Gcpu:2核内存:2G实现思路3.释放掉TM,在标记的TM上从保存点恢复任务cpu:1核内存:1Gcpu:2
6、核内存:2Gcpu:2核内存:2G实现思路4.将伸缩容后的资源信息持久化到Zookeeper和HDFScpu:2核内存:2GHDFS 和Zookeeper“cpu”:“2核”,“内存”:“2048MB”,“Jobgraph”:“伸缩容策略类型扩容/缩容原因并行度扩容存在消费延迟,且CPU综合使用率低于阈值并行度缩容存在空闲slotCPU扩容/缩容根据特定的CPU使用率的阈值内存扩容/缩容根据健康监测评分#4 4FlinkFlink+IcebergIceberg 数据湖实践数据湖实践基于Hive的数据仓库的痛点#时效性写入型Schema,对Schema变更支持不友好T+1或H+1无法支持准实时数