货拉拉基于混合云的大数据成本管控体系建设实践

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 货拉拉基于混合云的 大数据成本管控体系建设实践 王海华
2.
3. 自我介绍 王海华 货拉拉大数据架构师/基础架构负责人 • 8年以上大数据架构经验 • 涉及大数据平台产品架构/安全/稳定性/云原生等方向 • 负责过几千到几万台大规模大数据集群和架构 Apache Hive/Spark/Alluxio contributor
4. 目 录 1 背景和挑战 2 大数据成本管控体系 3 存储成本优化 4 计算成本优化 5 总结与未来展望
5. 1 背景和挑战
6. 货拉拉介绍 8+ 352 760万 58万 业务线 国内城市 月活用户 月活司机 3+ 1000+ 10PB+ 20K+ IDC 机器数 存储量 日均任务数
7. 货拉拉-大数据 大数据使命:驱动业务数智化,助力公司业务持续增⻓ 辅助决策类应用 应用层 服务层 数据 应用 经营分析 赋能业务类应用 用户分析 实时报表 平台层 &数仓 集市层 用户集市 用户集市 DIM IDP数据集成开发 数据接入平台 基础层 大数据 基础平台 数据 云服务 标签画像体系 …… 特征体系 司机集市 司机集市 DWB明细数据整合层 主数据库 DWB DWT 基础整合层 明细数据层 DWD明细数据层 数据治理平台 …… 指标体系 元数据管理 DIM维表层 数据质量管理 数据安全管理 数据成本管理 数据湖接入(T+1、近实时、实时) ODS贴源数据层 离线数据接入 实时数据接入 埋点数据接入 特征平台 AI平台 数据资产 DWS公共汇总服务层 DWS公共汇总服务层 ⻜流实时开发 AB Test 快速报表 数据仓库 BQ数据即席查询 接入层 数据上报 …… 数据智能支撑工具 快捷分析 用户画像 数据研发平台 智能广告投放 数据服务工具 数据应用支撑服务工具 大数据分析平台 大数据分析平台 可视化大屏 数据工具箱 可视化 数据工具箱 自助分析 多维分析 固定报表 自助分析 固定报表 预警/告警监控 指标库管理 智能营销 鹰眼监控 数据对账 数据链路监控 离线计算(Hive/Spark/Presto/...) 实时计算(Flink) OLAP多维分析(Druid/CK/Doris) 资源管理(YARN/K8S) 离线存储(HDFS/OBS) 在线存储(Hbase/ES) 数据⻔户 权限 ⻔户 中心 首⻚ 权限 中心 知识库 知识库 个人 中心 个人 中心 内容 管理 内容 管理 建议 反馈 建议 反馈
8. 背景和挑战 场景多样性 01 数据资产多样性 02 03 成本管控挑战
9. 背景和挑战-场景多样性 流量/计算量 离线 实时 在线 0 12 24 时间
10. 背景和挑战-数据资产多样性 数据资产类型 各类表 数据接口 实时任务 离线任务 报表 Hive表 指标 特征 标签
11. 背景和挑战-成本管控挑战 1. 成本和单均成本⻜速增⻓?不可控 2. 成本是谁花出去的?不知道 3. 成本使用合理不合理?不清楚
12. 背景和挑战-成本管控思路 数据资产梳理 成本预算管控和辅助治理能力 具备基本成本管控能力 成本运营 存储和计算深度优化能力 !"#$%& 助力公司和用户成本进一步降低 基于健康度的成本运营能力 成本分摊 预算申请和管 控 深度优化 保持存储和计算资源保持在健康水位 辅助治理
13. 2 成本管控体系
14. HLL大数据成本管控体系 成本管控体系 禁止新建任务 禁止生产操作 降低预算申请 治理收益榜单 资产健康分 红黑榜 惩罚措施 徽章展示 优秀治理个人评选 激励措施 持续运营 预算申请 健康度提升 资源 预算 预算使用跟踪 预算预警和限 制 辅助 治理 成本目标 预算控制 技术优化 离线 存储 计算 任务 数据压缩 数据归档 数据生命周期 任务下线 资源优化 数据资产度量 成本(个人/部⻔) 资源池 离线计算资源 离线存储资源 离线计算 离线存储 实时计算资源 在线存储资源 实时计算 在线存储 健康分(个人/部⻔) 任务 计算健康 分 存储健康分
15. 预算管控流程 HLL大数据成本管控体系 预算管控流程 月度复盘 成本 分摊 开始 根据单量调整目标 预算 是否超预算 资源测算 预算申请 预算审核 预算申请和确认 是 预算预警 季度复盘 连续3个月超 预算? 是 降低预算申请 禁止新建任务 成本治理 预算跟踪与预警 年终复盘 禁止新建表 预算限制 结束
16. 预算预警与限制 HLL大数据成本管控体系 预算预警与限制 ! 年度预算拆分到月度预算 ! 超出月度预算,进行预算预警 ! 连续一个季度超出月度预算, 执行预算限制措施 ! 治理达标后限制解除
17. 数据资产度量 HLL大数据成本管控体系 数据资产度量 任务 优化 资源 优化 场景 存储 治理 冷热 分层 成本 运营 服务层 成本明细 资源使用明细 成本账单 存储健康分 任务健康分 平台 数仓层 租户成本汇总表 租户资源汇总表 在线存储明细 离线存储明细 分区热度统计表 报表信息表 计算引擎Metrics 表 YARN App信息 表 离线任务信息表 实时任务信息表 文件热度统计表 ... 数据源层 基础 设施 存储 计算 监控 计算引擎 运维 ... 数据 资产 ... 离线任务 报表 标签 实时任务 指标 ...
18. 3 存储成本优化
19. HLL大数据成本管控体系 存储成本问题 HLL大数据离线存储现状 表数量大 17W+ Hive表 增速快 4PB/月自然增⻓ 冷数据量大 约33%数据90天内无访问 没有做数据生命周期、冷热分层管理
20. HLL大数据成本管控体系 存储冷热分层 存储治理思路 冷热分层 分区粒度 数据温度分层 建能力 数据归档管理 数据温度展示 数据生命周期管理 做治理 冷数据归档 数据生命周期治理 无用无效表下线删除
21. HLL大数据成本管控体系 存储冷热分层 存储冷热分层 冷热分层 归档收益曲线 收益占比 热 15% 存储策略 Cache (n >= 1000) 温 25% 温 度 (3 <= n < 1000) 冷 10% (0 < n <= 2) 最近90天访问次数 标准存储 冰 50% (n=0) n: 分区90天内被访问次数 归档存储 归档或删除
22. 存储冷热分层技术架构 HLL大数据成本管控体系 存储冷热分层技术架构 冷热分层管理 Presto SQL 分区级热度统 计 ... 文件级热度统计 数据温度展示 merge 分区热度 归档状态管理 SQL查询事件 DML 平台数仓 AuditLog 存储层 数据归档 归档恢复 AuditLog 归档/恢复 数据生命周管理
23. 数据归档能力 HLL大数据成本管控体系 存储归档能力 生命周期: 保留最近n天的分区,n天之前 的分区将被回收 建表时设置生命 周期和归档周期 归档周期: n天之前的冷数据将被归档 如何选择数据当前时间? 当前时间 180天前 ! 分区表 = Max(分区修改时间,分区业务时间pt=YYYYMMDD) 180天数据生命周期 ! 非分区表 = Max(表最后修改时间, 表最后访问时间) 90天数据归档周期 90天前 已删除 时间 已归档 标准存储 冷 热
24. HLL大数据成本管控体系 存储优化治理 存储优化治理 生命周期治理 冰冷数据归档 存储优化治理 文件压缩格式 算法升级 存量生命周期治理 增量生命周期回收 存量归档 增量归档 snappy -> zlib zlib -> zstd(进行中) 存储空间大于1T的表治理 空间增⻓TOP 100的表治理 日空间增⻓>=10G表的治理 专项深度治理 无用无效表下线、删除 存储空间>=500GB表治理 新增表空间增⻓TOP100治理 ODS永久生命周期全量表治理 ...
25. HLL大数据成本管控体系 存储优化收益 存储优化收益 优化前 优化后 ◆ 存储优化明显: • 优化前: 存储线性快速增⻓ • 优化后: 存储8个月零增⻓并持 续下降 ◆ 累计节省了54%的存储成本
26. 4 计算成本优化
27. 弹性资源管理 HLL大数据成本管控体系 存储优化收益 弹性计算资源管理-背景 离线集群资源趋势 夜晚/白天、大促/春节的资源 波峰波谷特征明显 不同类型资源(离线/实时/在线) 资源特征不同 实时集群资源趋势 高优离线 任务分布集中 (0点-6点之间) 按照高峰期资源需求 集群固定大小无法弹性
28. 弹性资源管理-思路 自研弹性扩缩容服务实现高低峰资源弹 性管理 • 降低 低峰期资源浪费 • 不影响 高优作业稳定性 目标 手段 利用公有云按需/竞价类型实例实现弹性 资源池 YARN 调度改造实现高优作业保障
29. 弹性资源池 实例类型 单位成本 稳定性 高 公有云预留实例 1.0(基准) 高 高 1.5 公有云按需实例 收费粒度 总结 天级别 现生产主力实例类型,适合做固 定保障资源池 分钟 有一天内分时弹性能力,成本优 势一般,稳定性和云库存有保障 适合做弹性保障资源池 分钟 成本优势大,需克服稳定性问 题,库存无保障 适合做弹性非保障资源池,需要 被抢占后补偿策略 天/月 高 低 0.2-0.8(跟 公有云竞价实例 商务折扣有 关) 弹性能力 分钟 低 分钟 预留实例 按需实例 竞价实例 集群不同类型实例数量变化 方案 充分利用公有云提供多种 实例类型各自优势 组合形成弹性资源池 • 保障资源池 • 非保障资源池 弹性实例高峰扩容,低峰 竞价实例 临时扩容 低峰缩容 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 缩容 高峰扩容 20 21 22 23 24 时间 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
30. 弹性资源管理-架构 Spock弹性服务实现扩缩容 1 策略和机制 自动化运维平台对接公有云 2 弹性资源池 YARN优先级调度支持不同 3 实例类型和高优任务优先调 度保障资源池
31. 弹性资源管理-成果 原集群资源量 优化后集群资源量 优化后集群成本 ! 集群成本 下降20%~30% 资源节省 资源节省 ! 高优作业 稳定性不受影响 遗留问题:解决集群逻辑资源 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 时间 利用率低问题,未解决 物理 利用率低问题
32. 计算超卖 解决问题:逻辑资源使用率高,物理 资源使用率较低问题 方案 根据集群逻辑资源打满情况下确认 1 物理资源水位有超卖空间 2 确认机器目标物理使用率 3 YARN dynamic resource 刷新机 器逻辑资源实现超卖 4 观察CPU利用率和Linux OOM情 况,持续调整最佳拆卖比例 效果 • 离线和实时集群逻辑资源超卖25% • 任务运行时间无明显影响
33. 计算超卖 问题和解决思路 ➢ 内存 Linux OOM问题 ● 任务受影响严重问题 ● 重要Container 被 OOM kill问题 ➢ 任务运行时间影响 ● 机器负载高导致任务变慢 后继改进 ➢ 通过持续观察内核日志分析OOM 频率和机器分布,观察超卖临界 点 ➢ 设置 AM/NM oom_adj为-1000实 现 OOM 保护 ➢ 局部物理负载触发YARN NM unhealthy反压机制来降低负载 ➢ 考虑更多的资源维度 ● Disk/Network/Kernel/... ➢ 基于逻辑Slot的调度机制 -> 基于真实物理负载的资源调度机制
34. 计算任务内存优化 方案 1 参数灰度能力: 分队列参数个性化能力 核心队列 4G 4G 4G ... 普通队列 4G 4G 4G ... 2 修改Container默认声明内存: container内存优化 普通队列: 1C4GB -> 1C2GB 核心队列: 1C4GB -> 1C3GB 效果 • Hive任务资源消耗降低15%+ • 任务运行时间无明显影响 核心队列 普通队列 3G 2G 3G 2G 2G 3G 2G 3G 2G ... 2G ...
35. 5 总结与展望
36. 总结 预算和管控 持续运营 01 数据资产度量与成本分摊 健康分与红黑榜 成本预算申请和定期跟踪 激励措施 成本预警与限制 惩罚措施 02 04 辅助治理 技术优化 数据冷热分层 弹性资源管理 计算任务浪费、业务价值 计算超卖与内存优化 数据生命周期与归档能力 03 存储压缩算法升级zstd
37. 一些思考 成本目标实现靠体系化建设才能收益最大化 保姆式运动式治理 VS 自助式治理 技术优化 VS 成本限额 场景个性化、持续精进
38. 未来展望 大数据云原生:极致的弹性 在离线混部、离在线混部 成本的深度分摊和价值判断
39.
40.

Accueil - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-15 22:52
浙ICP备14020137号-1 $Carte des visiteurs$