阿里云EMRSTARROCKS 产品化实践 演讲人:李咸海-阿里云-研发工程师 DataFunSummit2023 •EMRStarRocks简介 •可观测性 •增量计算 •总结 EMR整体架构 DLF 元数据&湖管理 开发工具开源解决方案EMRStudio(Notebook,Workflow)企业级开发平台DataWorksonEMR 故障补偿 集群诊断 弹性调度 监控告警 组件管理 新版数据湖Datalake 数据分析OLAP 实时数据流Dataflow 数据服务DataServing 数据科学DataScience Spark/Hive/Yarn/Presto/HudiDelta/RSS/Kyuubi Starrocks/Doris/Clickhouse/ Flink/Kafka Hbase/Phoenix Tensorflow/Pytorch 分析场景 权限&安全 管控平台 调度资源EMRonECSEMRonACKEMRServerless 存储资源OSS-HDFS(PoweredbyJindoData) 硬件资源ECS(Intel,AMD,倚天)/神龙/ECI EMRStarRocks 产品形态 功能 半托管 全托管 系统指标监控 Ç Ç 一键急速集群部署 Ç Ç 监控告警 Ç Ç 版本自动升级 ☓ Ç SLA保证 ☓ Ç SRManager数据管理 X Ç 半托管服务 SRONECS SRONACK 全托管服务 •EMRStarRocks简介 •可观测性 •增量计算 •总结 大数据的可观测性: 定义:通过指标采集,元数据采集等技术获取到系统的洞察数据,而不是简单的指标罗列。 价值: •资源分析:更合理的资源利用和更健康的集群使用 •分析、根因分析,快速定位问题 采集系 统 入仓系 统 分析系 统 展示系 统 •问题提示和异常提醒,减轻开发与运维人员的工作量,提高效率 异常预警 方案推荐 原因诊断 指标监控 SLS日志服务 EMRDoctor 日志采集HeartBeatOpenTelemetry探针 系统指标 调优 Network 内存CPU QPSDisk Compaction Query Load ThreadPool 定位 StarRocksMetrics 常见问题: 内存配置原因 Memusagehasexceedthelimitofsinglequery. 物理内存限制 MemusagehasexceedthelimitofBE. BeCrash update_mem_tracker process_mem_tracker metadata_mem_tracker....load_mem_tracker update_state_cacheIndex_cachedel_vec 管控 导入详情 批量导入 导入记录转存 Profile可视化 导入方式: StreamLoad •Flink-conector •CTAS&CDAS •查看Kafka分区的lag •Task执行情况 StreamRoutine Loadload 内核 BrokerInsert LoadInto •利用JindoFs加速访问 通过HTTP协议导入本地文件、或通过程序导入数据流。. RoutineLoad 从ApacheKafka实时地导入数据流。. BrokerLoad 从HDFS或外部云存储系统导入数据。 InsertInto SparkLoad 导入失败:Error提示,Coredump性能调优:Profile 稳定性:SafeMode 旧compaction框架 每个tablet线程一定范围的tablet 遍历所有tablet 对score最高的tablet做compact TooManyVersion ❓ 新compaction框架 EventBased:导入schemachange,clone 优先级队列 调度compact 导入频率过快 Compaction失败 ❓ 是否做Compaction 饥饿 •集群资源:磁盘,CPU,内存 •集群进程: FE,BE进程端口探测 •查询: 查询记录 慢查询分析 •Tablet管理:库,表,分区 导入事物:begin,commit,publish plan scheduler PKApply:loadindex,updatePKIndex,genDelVector TabletRebalanceTask:check,schedule, trace FEexecute operatorA operatorB operatorC BE 业务侧应用参考 大宽表使用 分区启用 PK模型使用 …… 限制导入速度 限制导入内存 资源隔离 SafeMode …… 集群稳定性预防建议 集群稳定性维护建议 监控告警 日常巡检 业务上新前的抗压测试与应急预案 Starrocks版本规划与持续升级保障 保障与建议 集群画像 元数据管理:库,表、版本,Tablet 索引、物化视图 Profile分析 内存管理 精细化内存占用分析 Compaction管理 任务管理 导入任务管理:查询,创建,取消 导入Profile 物化视图任务 CloneTask 集群管理 服务重启 弹性扩缩容 运维经验 可观测性 •EMRStarRocks简介 •可观测性 •增量计算 •总结 两阶段提交,StarRocks侧提供了Begin、Prepare、Commit等接口,支持将多次数据写入请求作为同一个事务提交,保证了同一事务内数据的一致性 Exactly-Once语义下,V1等待CheckPoint完成再写入StarRocks,V2分批写入,降低了Flink侧存储数据Buffer的内存消耗,提高了Flink任务的稳定性。 Starrocks-Connector-Flink-V2 一条SQL语句,完成StarRocks建表、Flink-CDC任务创建、实时同步 Schema变更的多项繁杂操作 CTAS &CDAS EMR-SR与Flink推出CTAS&CDAS Lambda架构实时链路 CREATETABLEt0( c0int,c1string,c2int,c3bigint) DUPLICATEKEY(c0)DISTRIBUTEDBYHASH(c0) properties( “replication_num”=“1”,“enable_binlog”=“true”,“binlog_ttl”=“”, “binlog_max_size”=“”, ); Binlog平替Kafka 增量MV ApachePaimon Paimon:ApachePaimon(incubating)isastreamingdatalakeplatformthatsupportshigh-speeddataingestion,changedatatrackingandefficientreal-timeanalytics. 1.PaimonCatalog 支持外表查询 2.PaimonChangeLog 增量MV做ETL 外表物化视图加速 •EMRStarRocks简介 •可观测性 •增量计算 •总结 审计日志 SQLEditor 物化视图 权限管理 总结 1.EMRStarRocks: EMR完整的生态服务 半托管服务与全托管两种产品形态 湖仓一体 2.可观测性: 尽可能白屏化 内存管理,导入管理,Compaction管理 集群画像 3.增量计算: 结合Binlog能力与Flink和Paimon深度集成 数据运维 实例管理 FE 实例 FE FE BEBEBEBEBE FE 实例 FE FE BEBEBEBEBE 计算资源 全托管ServerlessASI 弹性扩缩容 存储层 云盘 OSS对象存储 实例告警 实例升降配 平台运维 实例扩缩容 元数据管理 诊断与分析 StarRocksManager 实例配置 实例监控 DataFunSummit2023 感谢观看