1、何军/小红书Native Native FlinkFlink on on KubernetesKubernetes在小红书的实践在小红书的实践多云部署架构多云部署架构#1支持业务场景支持业务场景#2HELMHELM集群管理集群管理#3Native Native FlinkFlink on K8son K8s实践实践#4流批一体作业管控平台流批一体作业管控平台#5未来展望未来展望#6#1#1多云部署架构多云部署架构多云部署模式Tencent K8SCOS云基础设施作业运维监控报警作业开发版本管理元数据管理数据血缘SDK资源管理流批一体作业管控平台KafkaRocketMQESStarRocksC
2、lickhouseRedKV业务数据前端打点后端打点Ali K8S OSSHuawei K8S OBSFlink RuntimeFlink SqlFlink JarEvent BusOLAPOnline Service#2#2业务场景业务场景应用场景-实时算法训练FeatureJoiner训练实时查询GravityOLAP表OLAP离线处理系统/报表系统离线Hive表数仓打点服务APPSessionLabeler汇总样本数据Summary标签数据Refer数据流SessionLabeler归因原始打点流KV:特征数据Breakdown在线引擎Training应用场景-实时数仓主题域分流Data
3、 CenterData CenterStarRocksCacheKafkaETL业务逻辑Flink业务数据后端日志前端日志实时实时DAUDAU实时实时RGMVRGMV实时直播归因实时直播归因实时广告计费实时广告计费RocketMQ#3#3HELMHELM集群管理模式集群管理模式为什么用HELMKubernetes包管理器:定义,安装,升级k8s应用和服务描述复杂应用降低管理降低管理复杂度复杂度无须修改提交job代码升级简单升级简单版本管理,方便共享,发布到公有或私有服务器易于共享易于共享低成本回滚到指定旧版本易于回滚易于回滚基于HELM管理的任务生命周期1.start启动任务ClientHel
4、m client百川平台百川平台JobManagerFlinkFlink clustercluster2.helm install3.JM Alive check4.Job submitTaskManager5.status check1.stop停止任务4.helm del2.cancel job3.Job status checkFink clientTaskManagerClientHelm client百川平台百川平台Fink clientJobManagerFlinkFlink clusterclusterTaskManagerTaskManagerjobmanager&taskma
5、nger podsJM/TM Deployment1 14 45 56 63 32 2Hadoop configurationConfigMapFlink web-uiIngressJM/TM communicationNodePort ServiceRocksdb backend SSDBatch data diskVolumnEds redkvServiceMeshHelm资源管理Helm多云环境支持volumningressconfigmapservicemeshtm deploymentjm deploymentTencent flink clusterTencent flink cl
6、usteringressconfigmaptm deploymentjm deploymentAli flink clusterAli flink clusteringressconfigmaptm deploymentjm deploymentHuawei Huawei flinkflink clustercluster百川平台TencentkubeconfigAlikubeconfigHuaweikubeconfigHelm ClientHelm template 1Helm template 2Helm template 3Job config实际生产遇到的问题UDF管理复杂度高k8S资