《FFA2023云原生专场资料汇总.docx》由会员分享,可在线阅读,更多相关《FFA2023云原生专场资料汇总.docx(155页珍藏版)》请在课桌文档上搜索。
1、mnmetrsnd01ServerlessFlinkinAllbaba02FliIlk云原生架构演进03基于KUberneteS的多租管理04如何多云部署?未来展望Serverless三问FUNKCFORWARD实时E未来mcenrm.WHAT什么是 SerVerless? 服务器去了哪里?WHYSerVerleSS有哪些优势:免机器运维,更加侧重于业务本身极致弹性,大规模部署按付费,无资源碎片,降低成本HOW典型的SerVelleSS应用:AWSLambdaFlink能不能做SerVeSeSS化?ServerlessFlinkinAlibalbaFLlNKC实时FORWARD未来HASAEO
2、ffl.rMAML集团实时计算统一到BIinkFIink资源管理2.0Yarn和K8s分层混部不同优先吸流批混部-与搜索、电商混部BlinkStorm、GalaxyFlink资源管理1.0大规模实时任务调度ServerlessFlink正式上线Flink资源管理3.0基于K8s原生混部NativeFlinkonK8s。K8s增强以适应Flink207420162077201820192020.09FLIN4?实时FORWARD未 来02FIink云原生架构演进2.0=YARN与K8s分层混部FORWARD未mi混吾晰器NodeManagerTopiaSenzerSchedulerINMTrac
3、kerServiceAllocationSefviceExeajtionService存在的问题:两层架构,部署维护代价大AOPIensorflowonFlinkFIink批任务AgentFuxiSigmawc.sdOjJ0JosqAY,富容器,宕机影响面大混部获得的资源稳定性比较差任务之间的隔离性差3.0:基于KS原生混部FLINKC实时FORWARD未来Uffgamt0MMLK8s内置资源Pod I ConfigMapDeployment集群管理KubeNode节点运维CloudNativeApplications存储OSS、盘古、镜像统一资源池NativeK8s资源申请FLlNKCC;实
4、时FORWARD未来mi,WAMLNatiVeK8s优势:.按需动态申请释放资源,提升资源利用效率借力K8s强大的隔离、镜像分发能力提升性能和稳定性.原生支持GPU等新硬件资源.为细粒度的资源管理提供了基础plicati0部署模式FlinkcQFORWARD实时E未来mcer-m.两步提交依赖K8sSerViCe来完成提交通过CL方式与deployer集成NEW:FlinkasanApplication Client轻,用户代码运行在JobManager内部,像运行普通IaVaAPPliCatiOn一样运行FIink任务 一个Program可以包含多个有依赖关系的任务 天然分布式,deploy
5、er性能大幅提升K8sA由SerVerTaskManagerJobManagerTaskManagerTaskManagerJobManagerJobMasterK8SResMngrK8sApfServerTaskManagerJobManagerTaskManagerTaskManagerDeployerl-AppLfecycleFlinkClientTaskManagerJAVASDK云原生高可用F/砧2F里来,MiavwmnmESndKubernetesAPIServerJobManagerConfigMap_一_一,1.eaderaddressResMngrConfigMapCheck
6、pointpointersCheckpointcounter,LeaderaddressDispatcherConfigMapRestServerConfigMap1.eaderaddress,RunningjobsSubmittedjobgraph,LeaderaddressDeploymentI1.trytocontendperiodicallyrenew:jbManager2.publishaddress(Leader)r,;3.retrieveandwatch1.trytocontendjobManager3.retrieveandwatchl(Standby)云原生K8sHA: 新的
7、存储结构,以及选举、更新机制,彻底避免脑裂误删HA数据 选举机制简单,不易出错 成本节约,云上每租户可节约3.retrieveandwatch4.filereferencesTaskManagerPdTaskManagerACheckpointsJobGmphsS3/OSSBlobFilesZK集群资源*3SharedInformer大幅度减小长连接云原生高可用FLINKJU)期里十FORWARDrE未采*as,aa*mcemr-m.KubernetesAPIServer-ObManagerConfigMapCheckpointpointers-DedicatedforeachjobCheck
8、pointcounterClusterConfigMap-ResMngrleaderaddress-RestServerleader-JobManagerleaderaddress-SubmittedJobGraphDeployment1.trytocontendperiodicallyrenewJobManager2.publishaddress(Leader)3.retrieveandwatch1.trytocontendjobManager3.retrieveandwatch,(Standby)3.retrieveandwatchTaskManagerPOdTaskManager4.fi
9、lereferences云原生K8sHA优化:Leader选举四合一,FLIP-285、FLINK-32678对APlSerVer压力大幅减小PUT降低为1/4,Get降低为1/8CheckpointsjobGraphsS30SSBlobFilesFlinkVersionPUT/PATCHQPSGETQPSI.15.4witholdHA80016001.17.12004001.18.0200200*1000JobswithUMand1TMMetadata:name:JobiSpec:FIinkDeptoymenI云原生的任务管理FLINb2FORWARD实时E未来mcermKubernetes
10、ClusterControlPlaneAFhnkClusters.FlinkDeploymentMetadata:FIinkDepIoymentFlinkOperatorDeployUpgradeMonitorMetadata:namJob2Spec:JobSpec:name:SessionlSpec:一KubernetesAPIFlinkKubernetesOperator.原生CRD用于管理APPliCation与SeSSionjob.Java实现,通过FlinkClientSDK直接部署和交互简化与企业现有任务管理平台的接入流程.更方便的融入K8s生态,例如:通过argo进行任务编排,A
11、utoScaling,根据业务负载动态伸缩至此,FIink完成云原生改造,是一个以YAML方式提交、原生运行在K8s上的高可用的APPIiCatiOn。FLIN嗓9实时FORWARD未来03基于KUberneteS的多租管理FLINJFORWARDi调度实时E未来mcer-m.Flink JobManagerKoordinator:调度性能达到100OPods/s基于真实物理负载的均衡调度CPUBUrSt能力,加速启动差异化SLO混合调度,满足FHnk流批混部需求z)FLINK(FORWARD弹性配额管理实时E未来mcer-m.OLD:基于NameSPaCe的QUOtaNamespaceLev
12、el只能设置HardLimit,达到后禁止提交Quota-1Quota-2PendingPodsNamespace-1Namespace-2Namespace-3Namespace-1Quota-2_1Namespace-2Namespace-3弹性QUOtaClusterLeVeLQUOta和NameSPaCe解耦支持多级Quota支持Min和Max,分时共享集群资源FLlNaCFORWARDK8s管控面隔离实时E未来mcmremdTenantMasterATenantMasterBTenantMastergyncercontrollervNodevNodevNodekatakata网络多租
13、VPC1SuperMaster神金属VirtualCluster:,100%和KUbemeteSAPISerVe谦容,每租户独立的APlSerVer、ETCDControllerManager基TPrivateZoneRoute53的多租DNS控制爆炸面其他轻量化替代VeIUSter、KubeZoocn-Beijing-1.VirtuaICIusterASG-system网络隔离和网络打通FIJNKC;J实时FORWARD未HASAEOffl一,SG-WorkbadsSG-workbadsConsoleAgentVirtualClusterBSG-SystemConsoleAgentVVPCE
14、ndPointSeniCeZ2KafkaFlinkVPC/AccountUserVPC/Account使用安全组进行隔离非公有云环境可以使用NetWOrkPoIiCy进行替代使用PriVateLink打通到用户VPC节点侧资源隔离神龙裸金属FLINKCCFORWARDASIA2028实时E未来menremdContainerd云原生安全容器:修鼠安全沙箱G袋鼠Agent 强隔离,轻量级虚拟机容器,极致的启动速度,小于30OnIS 单机存储共享和隔离 网络带宽隔离 用户无需承担隔离与安全带来的Overheadkubelet.机计算资源管理,单机存储方案单机网络方案04如何多云部署?SerVeHe
15、SS底座:PyxisFLlNKC实时FORWARD未来MAnnuwPyXiS统一的租户管理接口(0PenAPI、CRD、CLI)资源管理与调度 配额15量口 L跨可用区调度_ 二负载均衡调度二 优先级与SLO管理K8s DNS服务 (PrivateZone)网络多租东西向网络隔离(ENI/安全组)南北向网络打通(PrivateLink)安全与其他WebhOok拦截匚AK、SK托管1:易扩展的插件机制ServerlessK-Pyxis裸金属机器DNS:Route53Private LinkKCMETCDAPIServerManaged Kubernetes安全容器KataVPC安全组云基础设施P
16、ortalAccount1SeiiingConsoleFlinkJob多云部署架构CIoudManagerClusterOpsAPIGatewayUICliSDKFUNKlCFORWARDHASA20弗实时未来ControlPlaneawsTenantATenantBTMTMTMTMVirtualClusterAVirtualClusterBKubernetesControlPlaneMultiAZPyxisPlatformMultiTenantsJMFullyManagedDataPlaneTenantCConsoleAgent:LJM、TM,;1J:VirtualClusterCBYOCD
17、ataPlaneDataPlaneWriteReadKataMySQLPostgresorObjectStorage(S3GCSAzureBlobStorage)StorageServiceawsFLlNMC实时FORWARD 未 来05未来展望cn-hangzhou.大数据SerVeHeSS混部forwSd首要来HASA20mCer-mServerlessKubernetes多可用区VinuaiCluster多租增强StarRocksPyxisPlatformVirtualClusterEVirtualClusterA可用区B开源大数据SerVeHeSS平台VPC+安全组+安全容器Spark
18、可用西OXMX86架构神龙裸金属节点普通ECS节点弹性容器EeI开源大数据统一资源池倚天架构YOC模式FLINKC知FORWARDE:3fcsamcer-m.BYOCControlPlaneManagedKubernetesVirtualClusterTenantK8sControllerManagerTenantK8sAPIServerSyncStatusAPIServer.SyncerSyncPodInternetTlVIPodKubeletConsoleAgentJMPocAPIServerProxyK8snodejointoclusterInternetBYOCVendorAccoun
19、tUserAccountBringYourOwnCloud 满足数据合规性要求,数据留存本地 使用用户账号下的EC2完成计算 节点托管,自动完成升级、下线、替换等周克勇I阿里云EMR SPark引擎负责人-O双时flin,L%一FORWARDE未来mmcemr-m.ApacheCeleborn:帮助Flink成为更好的流批一体引擎FLINKC2FORWARD实时E未来mmmemre01CelebornInternals02Celeborn+Flink03celebornCommunity04WhatfsNextFLIN4?实时FORWARD未 来计算引擎中间数据带来的挑战FLlNK2FORWA
20、RDHASAEDffl实时未来mWemLRMap Output Local Disk计算:数据的转换和流转数据转换算子:ProjectAggJoin.UDF数据流转持久化数据:Scan3Insert湖格式中间(临时)数据 Shuffle,Spill,Cache:Oeleborn StreamingStatezFIinkStateStore中间数据带来的挑战节点有状态难以存算分离,难以及时缩容稳定性&性能差 FetchFailure 1.ongfetchwaittimeCeleborn的前世今生FLINCj实时FORWARD即未来2023年7-1O月2020年诞生于阿里云2021年12月对外开源
21、趣头条/小米2022年10月OJ系列发布支持SPark本地盘存储StandaIone部署生产可用正式捐赠给ASF更名为CeIebom2023年3月0.2系列发布K8s部署稳定性/性能提升捐赠ASF后首个版本0.3系列发布支持FIink支持NatiVeSparkHDFS存储优雅升级贡献/使用的企业:小米/Shopee/网易/丁香园/携程BIG0B站ebayKyiigenCe/AWS/微博/小红书/阿里/蚂蚁/米哈游/B站/VIVO/Linkedln/BOSS/同城旅行/知乎/亚信CelebornArchitectureFLlNKC)实时FORWARD未来HASAEDfflE-M*AMLSpark
22、 ApplicationFlink Application服务端Master集群状态管理负载分配高可用Worker存储阴艮务ShUffIeData多层存储 Memory 1.ocalData DFS/ObjectStore客户端LifecycleManager管理当前作业的ShUfflemeta减轻MaSter负担ShuffleClientPushes/Fetchesshuffledata引擎插件*SparkFlinkMapReduceMR3FlinkShuffleFLINKCFORWARDASA2(Q8实时E未来emSpark/MR规划:FlinkFLlNK Q实时FORWARD ” 未 来
23、ASIA 2(C8wtReducePartitionvs.MapPartitionMapPartitionFinkpl it详细流程Worker2FD翼寸来MSIA2ft2904FAAULPartitionSWorker2FLlNK 实时FORWARD 未来HASAEDffl a fftenLR40.A8k4orW-lQcattion&ShuffleLifecycleinCelebornExactly OnceFLINKi 实电+FORWARD r E 未来nmnwmre数据不丢推送数据ACK写文件异常监控所有PartitiOn文件成功COmmit数据不重_aapld,attptld,batc
24、hld)仅读取成功的attemptsibatchldM反压流控拥塞控制CreditBased(ForFlink)FLINK(C实时FORWARD未来HASA20(BrMr*wr快速滚动升级FLINCFORWARD实时E未来mcenrm.优雅重启-1ftt负载均衡实时IE未来emFLINK12FORWARDHASA20由FLIN4?实时FORWARD未 来BE73FW* WBVWn*02Celeborn+FlinkSort ShuffleBuffer#1(Pa)Buffer#2(P1)Buffer#3(Po)PO P1 P2 I PO P1 P2FD翼寸来1.gMrmFWAMLMapPartit
25、iontfOFilelayoutDataFileIndexFileIORequestsrReaderjReader2.ReaderlIOSchedulingRegionlRegion2POP1P2jIndexOIndex1Index2IndexOIndex1Index2SortedIORequestsIOSchedulingReader2ReaderlReaderOFLlNK实时FORWARD卫末来WrapperReadNettyBuffers内存管理FlinkMemoryModelFLINK(C;实时FORWARDf未来ASIA2O2flmt*M*AMLEffectiveConfigurat
26、ion(DFrameworkHeap128DecodeWithFlinkBufferCelebornNettyCelebornNettyTotalProcussMemoryTaskHeap2.60GBManagedMemoryFrameworkOff-HeapTaskOff-HeapNetworkJVMMetaspaceJVMOverhead5.904.00a(M)2561.00GBMBGBMBGB混部用户场景独立部署FLINKK8sBysendingmapperoutputtoCeleborn,wecaneliminatehalfoflocaldiskusageTestResultsInou
27、rtestsontheTPCDSdatasetofsizelTB,weobservedanimprovementofaround30HUinjobruntime.Inthebelowgraphlowermeansbetter.workergraceful升级只用2分钟4条回复R*mwEMnwlhA*oOfctww唯痫里河盯的量高峰时候我高优任务的ShUffle得到了保障,后面估计任务的大规模应用后主要收益还是再减轻服务器的i。压力alotofshufflesinvolved2条回复Rs端涉来CXBE311Vu*mw03CelebornCommunityCeIeborn社区FLINKQFORWA
28、RDAngerszhuuuuAngefsZhuuuuCheng PanPab37937PPMC自网易/Shopee/阿里Moreiscoming6CommittersU11e8*(P)R4Cmefflberdcr(Ctebom.KyuuW,TrMsjSdhwireEngineeral8W加来自网易/Shopee/Moreiscoming丁香园/携程BIGO阿里nafiyFuChenCVnegrady73ContributorsFckM3CheXyUdOiPMCWlngJAP*gCeiebemocubaho)Co11wtteApacbeSparkCatnstlont)aConUibuierSte
29、NichoIas11rmmifQ7QturboFei8commits583+Jiaoqingbo25commits64+65boneanxs14commits1,813+Hkzouyifan2799commits4,196+:.otterc2commits1483+mridulm1commit209+akpatnam251commit106melodyyangaws:1,092+Celeborn+Xf2耀来mmmemreCeleborn+FlinkFlinkHybridShuffleCeleborn+Kyuubi云原生最佳实践Celeborn+Gluten-NativeEngine+Cloud
30、NativeCeleborn+MR3FLlNMC实时FORWARD未来04WhatfsNextWhafsNextFoKf社区一-提名更多的PPMC和COmmitter,用户 更及时的反馈,更好的互动 更多的海内外用户FeatureR,J FlinkHybridShuffle Flink+ReducePartition 认证和安全隔离 C+SDK 多层云原生实时计算平台演进基于Flink-1.13蒋龙IOPPO大数据高级研发FUNK;:FORWARDE未采但Smcentr.mOl实时计算平台现状与架构02云原生提交侧优化概览03云原生弹性伸缩设计实施04其他运行时优化与改进05展望FLIN4?实
31、时FORWARD未来01实时计算平台现状与架构FLlN绘/FORWARD实时计算平台现状实时未来em7000+作业国内40%上云15万核+02云原生提交侧优化onyarn的问题及上云期望离线实时隔离,资源利用率不高C集群多且杂,无法有效管理,需要频繁切换onyarn问题FLlNWQ手里十FoRWARDE不采ttleamcenu.m.离线实时集群统一,集中运维只内存隔离,高负载作业容易影、a响其他作业Jk(共享资源池,共享调度,提高利用率上云Ii二一-期望i.(弹性扩展,削峰填谷/0(简化部署,提交高移植性、灵活性FLINKUFORWARD云原生弹性伸缩式提交实时E未来mcen同提交侧问题API
32、1 .需要预留资源应对大规模频繁提交,提别是批作业2 .提交侧资源利用率低3 .无法根据需要提交的作业量动态申请释放资源4 .日志混杂在后台,辨认困难Submit-podSubmit-podSubmit-pod1.云化并利用k8s集群闲置资源提交作业2,每个作业单独的POd提交到后端集群后,释放资源3 .平台后端只保留自身所需资源即可4 .清晰的提交日志以及状态flink-clusterflink-clusterflink-clusteryarnk8s回调状态与提交日志ApiBackendk8sjob生成POd提前生成joblD构造集群IDapp-时间戳-作业数据库IDFUNKU)实时FORW
33、ARD未来/SitPod_ProxyIFlinkCommand共享存储检查资源配额FIJNKeFORWARDHASAEOffi实时E未来cent资源隔离强隔离节点间使用节点亲和性加污点(TainI)和容忍度(Toleration)相互配合来觉得容器调度到哪些节点上。弱隔离容器间不限制节点,依靠resourceIinIit限制斐源用量。资源类型CPUMEM资源配额ResourceGroup一组容器申请的资源划分为一个资源组,以资源组的形式提前询问集群是否满足此资源需求,对于开启弹性的作业,条件选择是否只需满足做小资源,对不不开启弹性的作业,需要满足最大资源需求。不满足,直接返回资源不足。ResourceQuotas资源配额表示在k8s集群中NameSPaCe上所有的容器可以使用的最大资源限制,超额后禁止创建新的资源。业务需要在平台以应用组的方式提前申请。ResourceGroupapiVersion:vlkind:ResourceGroupname:compute-resource-groupspec:hard: