上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

方勇-Flink OLAP作业调度和查询执行的改进.pdf

编号:101863 PDF 28页 2.95MB 下载积分:VIP专享
下载报告请您先登录!

方勇-Flink OLAP作业调度和查询执行的改进.pdf

1、方勇/字节跳动基础架构工程师Improvements of Job Scheduler and Improvements of Job Scheduler and Query Execution on Flink OLAPQuery Execution on Flink OLAP背景背景BackgroundBackground问题和分析问题和分析Problems Problems&A&Analysisnalysis调度执行优化调度执行优化Scheduler&ExecutionScheduler&ExecutionOptimizationOptimization未来计划未来计划FutureFut

2、ure#1#1#2#2#3#3#4#4#1#1背景背景BackgroundBackgroundHTAP Architecture In ByteDanceHTAP Architecture In ByteDanceMySQLProxyAP EngineCatalogConnectorMetaServiceHTAP StoreOther HTAPComponetsSubmit QueryFetch ResultSubmit JobFetch ResultScanFetchFlink SQLGatewayFlink ClusterWhy Can Flink For OLAPWhy Can Flin

3、k For OLAPPrestoPresto ClusterClusterFlink OLAP Flink OLAP ClusterClusterFlink Session Flink Session ClusterClusterTaskManagerFlink sql gatewayFlink sql gatewayFlink sql gatewayFlink sql gatewayConnectorSchedulerPolicyVSVSResourceManagerJobMasterCatalogTaskManagerDeploymentFailoverFlinkFlinkSessionS

4、essionClusterClusterWorkerParserOptimizerParserOptimizerParserCoordinatorCoordinatorOptimizerJobManagerSchedulerPolicyMetadataManagerResourceManagerWorkerConnectorDeploymentFailoverMPPMPPJob PlanJob PlanRuntimeRuntimeManagerManagerExecutionExecutionManagerManagerFailoverFailoverManagerManagerJobMana

5、gerJobManagerWhy Choose Flink In HTAPWhy Choose Flink In HTAPFlink OLAP Flink OLAP ClusterClusterFlink Session Flink Session ClusterClusterTaskManagerFlinkFlink SQL gatewaySQL gatewayFlinkFlink SQL gatewaySQL gatewayConnectorSchedulerPolicyResourceManagerJobMasterCatalogTaskManagerDeploymentFailover

6、FlinkFlinkSessionSessionClusterClusterParserOptimizerParserOptimizerJobManagerJobManager引擎统一Streaming Batch OLAP生态支持跨数据源查询性能优势TPC-DS 基准测试#2 2问题和分析问题和分析Problems&AnalysisProblems&AnalysisRest 协议,SQL 查询特点问题要求模式架构Session On K8s,MPPBatch+Eager Scheduler秒级和毫秒级小作业作业频繁启停,资源碎片Latency+QPS 要求现状和问题现状和问题接入How?Ho

7、w?Source_Source_SinkSinkSourceSource-SinkSinkWordCountWordCountJoinJoinSource_Source_Tokenizer_Tokenizer_LocalAggLocalAggSource_Source_Tokenizer_Tokenizer_LocalAggLocalAggSource1Source1Source2Source2Source3Source3Join1Join1Join2Join2Sink1Sink1测试用例1.从业务查询复杂度出发,设计三组作业2.计算节点并发度128,数据量极少测试环境5台物理机,Flink

8、Standalone 集群1个Session 集群Flink 集群共1.25W个 slotBenchmark Client 多线程提交作业统计10分钟完成的作业数以及作业平均 Latency调度调度 BenchmarkBenchmark7.811.380.4416.884.261.1117.325.861.9417.197.532.1705101520Source-SinkWordCountJoinQuery QPS141632127.6721.62288.3235.43937.413625.24922.22735.968459.281856.794266.4415987.7905000100

9、001500020000Source-SinkWordCountJoinQuery Latency(MS)141632Client 线程数Client 线程数调度调度 BenchmarkBenchmark分阶段优化分阶段优化作业管理作业管理资源申请资源申请任务执行任务执行#3 31.1.作业管理优化作业管理优化2.资源申请优化3.任务执行优化4.Benchmark调度执行优化调度执行优化Scheduler&Execution OptimizationScheduler&Execution OptimizationDispatcher Dispatcher 管理优化管理优化执行执行线程池线程池现

10、状及问题现状及问题InitializeInitializeJobJobPreparePrepareJobJobFinishFinishJobJobStartStartJobJob线程池太小线程池太小作业作业执行步骤执行步骤单点处理瓶颈单点处理瓶颈线程池太忙线程池太忙InitializeInitializeJobJobPreparePrepareJobJobFinishFinishJobJobStartStartJobJob作业作业执行阶段执行阶段IOIO线程池线程池StoreStore线程池线程池执行执行线程池线程池优化方法优化方法加大池子加大池子单点处理单点处理步骤拆解步骤拆解增加独立增加独

11、立线程池线程池优化思路和实现优化思路和实现Netty/RestNetty/Rest线程池线程池Netty/RestNetty/RestPoolPoolDispatcherDispatcherActorActorAkkaAkka线程池线程池DispatcherDispatcherActorActorJobManagerJobManager 内存优化内存优化心跳检查心跳检查资源超时资源超时AkkaAkka 线程池线程池任务队列任务队列已结束已结束作业作业现状及问题现状及问题AkkaAkka 线程池线程池任务队列任务队列已结束已结束作业作业本地任务本地任务管理管理增加本地增加本地任务管理任务管理作业

12、结束作业结束及时清理及时清理结束时清理结束时清理FullGCFullGC 消失了消失了优化和实现优化和实现对象太多对象太多FullGCFullGC运行中运行中作业作业运行中运行中作业作业更多更多定时任务定时任务运行中运行中作业作业运行中运行中作业作业本地任务本地任务管理管理本地任务本地任务管理管理心跳检查心跳检查资源超时资源超时更多更多定时任务定时任务#3 31.作业管理优化2.2.资源申请优化资源申请优化3.任务执行优化4.Benchmark调度执行优化调度执行优化Scheduler&Execution OptimizationScheduler&Execution Optimization

13、Batch Batch 申请资源申请资源Job1Job1Job2Job2s1s1s3s3s5s5s2s2s4s4s6s6ResourceResourceManagerManagerDeadLockDeadLockJob1Job1Job2Job2ResourceManagerResourceManagerslot1slot1slot2slot2slot3slot3slot4slot4Job1Job1Job2Job2s1s1s3s3s5s5s2s2s4s4s6s6SlotSlot 粒度粒度 VS BatchVS Batch 申请资源申请资源slot4slot4SlotSlotBatchBatchB

14、atch Batch 申请难点申请难点跟跟 slot slot 粒度申请兼容粒度申请兼容Batch Batch 申请“事务性”申请“事务性”:申请申请/取消等取消等s1s1s3s3s5s5s2s2s4s4s6s6ResourceResourceManagerManagerWaitWait#3 31.作业管理优化2.资源申请优化3.3.任务执行优化任务执行优化4.Benchmark调度执行优化调度执行优化Scheduler&Execution OptimizationScheduler&Execution Optimization作业间连接复用作业间连接复用TaskManager2TaskMan

15、ager2JobAA.Task1.1A.Task1.1A.Task1.2A.Task1.2A.Task2.1A.Task2.1A.Task2.2A.Task2.2TaskManager1TaskManager1JobBB.Task1.1B.Task1.1B.Task1.2B.Task1.2B.Task2.1B.Task2.1B.Task2.2B.Task2.2ChannelChannelChannelChannelNo ReuseNo Reuse现有问题现有问题复用难点复用难点频繁创建和关闭连接频繁创建和关闭连接影响查询影响查询 Latency Latency 和和 QPSQPSCPU CPU

16、 资源增高和波动资源增高和波动稳定性影响稳定性影响(饿死饿死/死锁等死锁等)脏数据处理问题脏数据处理问题连接膨胀和回收问题连接膨胀和回收问题现状和问题现状和问题作业间连接复用作业间连接复用TaskManager2TaskManager2JobAA.Task1.1A.Task1.1A.Task1.2A.Task1.2A.Task2.1A.Task2.1A.Task2.2A.Task2.2TaskManager1TaskManager1JobBB.Task1.1B.Task1.1B.Task1.2B.Task1.2B.Task2.1B.Task2.1B.Task2.2B.Task2.2Channe

17、lChannelChannelChannelChannelChannelPoolPoolLazyLazy CreateCreateReuseReuseVerificationVerificationStatusStatusRecycleRecycleInvalidInvalidBusyBusyIdleIdleChannelChannelReuseReuseAllocateAllocateReleaseReleaseAllocateAllocateReleaseReleasePartitionRequestPartitionRequest 优化优化-BatchBatchTaskManager1T

18、askManager2TaskManager3TaskManager4Task1.1Task1.1Task1.2Task1.2Task1.3Task1.3Task1.4Task1.4Task2.3Task2.3Task2.4Task2.4Task2.1Task2.1Task2.2Task2.2TaskManager1TaskManager2TaskManager3TaskManager4Task1.1Task1.1Task1.2Task1.2Task1.3Task1.3Task1.4Task1.4Task2.3Task2.3Task2.4Task2.4Task2.1Task2.1Task2.2

19、Task2.2现状及问题现状及问题优化方案优化方案从并发度平方到TM数平方消息数量级消息数量级100并发,2TM10000 410000 4PartitionRequestPartitionRequest 优化优化-NotifyNotifyPartition Register ManagerNetwork Connection ManagerTaskManager2TaskManager1Task2Partition Register ManagerNetwork Connection ManagerTaskManager1Task2现状及问题现状及问题优化和实现优化和实现多次重试,数据量级大

20、(并发数平方)重试有等待,增加 Latency主要问题No RetryNo WaitTaskManager2Task1Task1NotifyNotFound+Retry网络内存池优化网络内存池优化TaskManagerNetworkBufferPoolTask遍历总数量巨大遍历总数量巨大O(slotO(slot数数*上游并发度上游并发度)TaskManagerNetworkBufferPoolTaskNo TraversalNo TraversalJoin 测试作业O(千万级别)现状及问题现状及问题优化和实现优化和实现InitializeLocal PoolAllocationSegments

21、ReleaseLocal PoolReleaseLocal PoolAllocationSegmentsLocal Buffer Pool ListCreateDeleteLocal Buffer Pool ListCreateDeleteInitializeLocal PoolTraversal其他更多优化其他更多优化计算调度计算调度优化优化执行计划执行计划优化优化任务任务执行执行优化优化#3 31.作业管理优化2.资源申请优化3.任务执行优化4.4.BenchmarkBenchmark调度执行优化调度执行优化Scheduler&Execution OptimizationScheduler

22、&Execution Optimization7.811.380.4416.884.261.1117.325.861.9417.197.532.1710.52.831.2316.394.773.2219.7413.845.6633.5219.6211.6010203040Source-SinkWordCountJoinQuery QPS2优化前优化前优化后优化后3593736259222736845988953538256000000Source-SinkWordCountJoinQuery Latency(MS)2优化前优化前优化后优化后调度调度BenchmarkBenchmarkClient 线程数Client 线程数#4 4未来计划未来计划FutureFuture未来计划未来计划Flink For OLAPFlink For OLAP稳定性性能功能单节点稳定性优化运行时资源使用优化计算结果管理优化作业和计算线程管理细粒度执行管理Optimizer For OLAPRow VS Column从从0 0-11从从1 1-100100History Server 完善产品化完善慢查询分析诊断THANKS

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(方勇-Flink OLAP作业调度和查询执行的改进.pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部