京东云原⽣跨域⼤数据平台落地实践 京东零售-集团数据计算平台部/吴维伟 ⽬录 •⼀.京东⼤数据平台概况 •⼆.京东云原⽣⼤数据平台建设背景和挑战 •三.京东云原⽣⼤数据平台落地实践 •离在线混部 •跨域存储 •四.落地收益 •五.未来规划 京东⼤数据平台是京东⼤数据业务的基础服务平台,为京东⼤数据业务的实现提供⼀站式、⾃助式的⼤数据处理全流程解决⽅案。 涵盖数据采集、存储、加⼯、分析、可视化、机器学习等专业化产品和服务,通过数据集中从⽽形成⾼效的数据开放,在保障数据安全的前提下,提供⾃助式的服务平台,⼤幅降低⼤数据消费⻔槛,帮助京东⼤数据业务快速落地,助⼒京东实践以数据为驱动的业务变⾰与发展。 云原⽣ 跨域⼤数据架构 存算分离 提供⼀站式、⾃助式的⼤数据 处理全流程解决⽅案 Hadoop 集群规模 数百万核 计算能⼒ ⽇运⾏job数百万 存储能⼒ 数EB 云原⽣弹性伸缩架构升级 资源弹性伸缩的最⼤价值是通过资源共享⽅式充分复⽤资源,在资源使⽤上的错峰填⾕,以达到提升集群资源 利⽤率的效果,实现资源价值最⼤化。 痛点 •⼤促期间在线业务采购机器应对业务⾼峰 •⽇常在线资源利⽤率低 ⽬标 •⼤促期间在线业务0采购扩容 •⽇常在线资源共享给离线使⽤ 架构升级 在线服务 K8S 实时计算 离线计算 YARN 离线计算 在线服务实时计算 YARN离线调度 混部资源调度(JMR) (控制混部离在线资源⽐例、弹性伸缩)K8S = •如何统⼀离线和在线的资源调度? •离线在线混合部署时,如何保证在线业务不受影响,离线业务基本稳定? •跨机房资源共享后,跨机房数据访问如何避免影响在线任务(⽹络隔离与流控) 资源池化 •资源统⼀封装,屏蔽底层IaaS特性 •统⼀资源调度,上层应⽤系统⽆感使⽤ •按需调度,⼤促节点,离线仅需借出数⼩时资源 ⾼效利⽤ •在线应⽤和离线计算具有资源互补的特点,可通过统⼀资源调度提升资源复⽤率 在线计算 离线计算 统⼀资源协同 共享资源池 在线资源 离线资源 混部资源 •K8S统⼀资源管控 •JMR(混部资源管理)协调混部资源调度,结合单机弹性实现资源动态伸缩。 •强资源隔离保障在线业务TP99 统⼀资源管理 •K8S统⼀管理资源 •计算服务容器化改造 •混部调度器(JMR)协调K8S资源分配和NM弹性伸缩 单机弹性 •安全⽔位 •离线最⼩最⼤配额(min,max),动态调整 •定制化驱逐策略:容器类型、优先级、启动时间、资源容量 安全⽔位离线配额 资源隔离 •联合K8S团队实现CPU隔离、⽹络QoS,保障在 线业务TP99 •改造HADOOP底层,⽀持基于任务等级、流量类型等多种⽅式设置⽹络优先级 运维优化 •YARNOperator管理NMpod⽣命周期 •基于Token⽅案实现NM节点注册验证 ⽇志解析 链路图谱 运⾏时间 任务优先级 资源预测 时序预测 时⻓预测 …… 资源监测 读写监测 任务托管 …… 时序预测任务诊断数据⾎缘动态规划 •利⽤云原⽣架构实现峰值资源按需购 买,购买资源每⽇占⽤时⻓不超过4⼩时 • 资源⽔位线以上计算资源可以分批腾 退,降低⼤数据平台机器成本 问题:资源占⽤分布不均衡,⼤部分离线资源⻓时间闲置 ⽬标:利⽤弹性伸缩能⼒,峰值资源按需向云平台购买,减少离线计算常驻资源量挑战:⼤规模、复杂作业链路,超百万任务,资源预测困难 云平台资源借⽤ 资源占⽤分布 总体资源量 资源⽔位线 00:00 00:10 00:20 00:30 00:40 00:50 01:00 01:10 01:20 01:30 01:40 01:50 02:00 02:10 02:20 02:30 02:40 02:50 03:00 03:10 03:25 03:40 03:50 04:05 04:15 04:25 04:35 04:45 04:55 05:05 05:15 05:25 05:35 05:45 05:55 06:05 06:15 06:25 06:35 06:45 06:55 07:05 07:15 07:25 07:35 07:45 07:55 08:05 08:15 08:25 08:35 08:45 08:55 资源使⽤量 基于作业分级,结合资源预测、数据⾎缘、作业性能诊断等能⼒,智能动态向云平台按需购买资源,降低离线机房常驻资源需求 技术内核智能编排引擎收益 架构优势 •跨机房读取变为本地读取,减少跨域流量 •跨域⽣命周期实现只同步最新数据,历史数据⾃动删除 •⽀持数据机房级容灾 架构改造 •机架感知->机房感知 •跨域容灾:灾备可读,⽀持跨域切换 •跨域流控 •跨域EC •低冗余EC(1.16副本) 跨域流控 机房A 机房B 灾备⽀持跨域切换 机房C 只读 standby 只读 standby Active 机房感知 standby 只读 standby 只读 standby DN BLK 块异步传输 DN BLK DN BLK DN BLK 块异步传输 DN BLK DN BLK DN BLK DN BLK DN DN BLK DN BLK DNDN 3机房6副本 2机房4副本 BLK BLK BLK1机房3副本 DN BLK DN BLK DN BLK DN BLK DN BLK DN BLK EC3机房3.5~4.5副本 ಄-1 rack-4 rack-3 ಄-2 •这个DN属于哪个机房? DNDNDN rack-1 DNDNDN rack-2 •拓扑管理:/region/cluster/rack •这个客户端属于哪个机房? •机房感知: •RPC携带机房信息 •基于IP的机房查询 •数据跨机房要怎么放? •标识定义(⽀持副本及EC): DNDNDN DNDNDN Ӟӻ಄Ӟ༒ಏ / ಄-1 ಄-2 rack-1 rack-2 rack-3 rack-4 DNDNDN DNDNDN DNDNDN DNDNDN Ӟ༒य़ಏ regionA:3:1,regionB:2:0,ttl:7200:regionA:2:1:MODIFY,ttl:7200:regionB:0:0:MODIFY •元数据变更: •XATTR •块属性标识 同机房块 RedundancyMonitor 增量 复 ⽤ 跨域块 CrossRegionRedundancyMonitor AsyncCrossRegionUpdater 跨域配置 存量 跨域⽬录 ⽬录变更 跨域补块 •跨域补块独⽴处理,不影响原有同机房逻辑 •异步跨域更新器,结合跨域标签属性,实现切换接续补块 •⽀持⾼效的跨域数据共享 AsyncCrossRegionQueue 跨域流控 •跨域补块流控 •读写优先客户端同机房DN •跨域读写流控 •balancer机房内部均衡 离线计算引擎 实时计算引擎 多维分析引擎 ⽂件系统接⼊层 数据⽣命周 期 路由转发 数据调度 挂载管理 统⼀权限管 理 访问控制 京东云 华为云 私有云 JDHDFS •接⼊层实现通⽤需求,包括权限、访问控制、数据⽣命周期、数据调度等 •接⼊层利⽤挂载能⼒实现弹性扩缩容 •数据调度实现不同挂载存储的数据迁移 618及双11⼤促期间动态调拨离线平台数⼗万核⽀撑在线系统流量⾼峰,节省⼤量采购成本 ⽇常期间,离线平台复⽤在线系统资源数⼗万核,利⽤率提升20%+,节省⼤量成本 五.未来规划