分享嘉宾:吴维伟 京东 架构工程师
编辑整理:陈妃君 深圳大学
出品社区:DataFun
导读:随着业务调整和集群资源整合需求,大数据系统中集群数据迁移复杂混乱。本文将以京东大数据平台为例,介绍京东近一年在数据分布式存储和分层存储上的探索和实践。
今天的介绍会从下面三点展开:
- 京东数据平台架构简介
- 跨域存储
- 分层存储
--
01/京东数据平台架构简介
京东数据平台的整体架构主要由六部分组成,其中数据存储作为计算存储层的底层组件支撑着上游的计算引擎调度,以及更高层的工具层、服务层和应用层。在整个数据平台架构中,底层数据存储起到了基建的作用,是整个大数据平台的基础。
该数据存储系统的体量是数EB(1EB=1024PB),有数万个节点,三地多中心,每天的吞吐量是百PB级别。面对如此大的数据量,京东大数据平台采用了可视化管理,通过监控系统可快速方便地定位到集群问题,保证了集群的稳定性和服务的高可用。
--
02/跨域存储
1. 跨域存储——问题
在跨域存储架构应用之前,跨机房数据的同步主要通过业务方在不同机房之间进行Distcp实现,这种方式便会存在一些隐患问题:
- 第一个问题:元数据一致性由业务方保证,数据迁移需要业务介入,成本高时间长。
- 第二个问题:跨机房的流量不受控,影响同步任务,需要借助外部调度系统和存储。
- 第三个问题:产生多份冗余数据,数据共享和同步成本高,比如在不同机房不同数据节点间载入了多份相同数据,导致冗余。
- 第四个问题:不具备多机房集群的容灾系统,未充分利用多机房优势。
2. 跨域存储——架构
基于以上,京东大数据平台在底层存储模块设计了一个跨域数据同步功能来解决历史数据存储同步带来的问题。选择在底层解决该问题不仅可以把控跨域数据的一致性,还提供了业务无感知的跨域数据同步与分享功能,以减少业务方重复工作,使存储系统具备跨域迁移和跨域容灾的能力。
该京东跨域存储架构的主要思路是通过“全量存储+全网拓扑”,实现跨机房故障域,最终实现大数据关键数据异地容灾及跨机房存储能力。
这个项目的主要挑战有:
- 单集群规模庞大,达到数万个。
- 跨域补块与流动,存在性能瓶