- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
京东大数据技术白皮书
展开查看详情
1 .京东大数据技术白皮书 京东大数据平台部出品
2 .顾问: 张晨 裴健 翁志 主要作者(排名不分先后): 赵国梁、刘荣明、李冬峰、冯玉敏、滕永铮、王哲涵 王永亮、王文生、李双义、刘业辉、白贤锋、王威 焦文健、张晓鑫、赵鹏、纪鸿焘、乔超、吴怡然 欢迎关注京东大数据微信公众号及京东技术公众号
3 . 京东大数据技术白皮书 目 录 序言 ..................................................................................................................... 3 前言 ..................................................................................................................... 5 1 京东大数据的发展历程 ................................................................................. 8 2 京东大数据的技术体系 ................................................................................10 2.1 数据采集和预处理 ..............................................................................10 2.2 流量数据采集 .....................................................................................13 2.3 数据存储体系 .....................................................................................22 2.4 离线计算环境 .....................................................................................34 2.5 实时计算环境 .....................................................................................37 2.6 机器学习环境 .....................................................................................40 2.7 任务管理和调度..................................................................................43 2.8 资源监控和运维..................................................................................49 3 京东大数据的数据管理 ................................................................................54 3.1 数据架构设计 .....................................................................................55 3.2 数据资产管理 .....................................................................................57 3.3 统一指标体系 .....................................................................................65 3.4 数据安全管理 .....................................................................................66 3.5 数据服务管理 .....................................................................................68 4 京东大数据的数据产品 ................................................................................75 4.1 京东商智 .............................................................................................75 4.2 智能营销 .............................................................................................76 ~1~
4 . 京东大数据技术白皮书 4.3 数据管家 .............................................................................................77 4.4 祖冲之 ................................................................................................78 5 京东大数据的应用场景 ................................................................................80 5.1 营销领域 .............................................................................................80 5.2 物流领域 .............................................................................................81 5.3 供应链领域 .........................................................................................82 5.4 智能零售 .............................................................................................85 5.5 金融业务创新 .....................................................................................86 5.6 时尚创新 .............................................................................................88 5.7 人工智能 .............................................................................................89 6 京东大数据的合作生态 ................................................................................93 7 京东大数据的特点........................................................................................95 7.1 高可用和高性能..................................................................................95 7.2 一站式服务平台..................................................................................98 7.3 可靠的安全保障..................................................................................99 8 京东大数据展望 ......................................................................................... 103 8.1 融合统一 ........................................................................................... 103 8.2 开放合作 ........................................................................................... 109 8.3 技术前瞻 ........................................................................................... 110 结语 .................................................................................................................. 117 参考文献 ........................................................................................................... 118 ~2~
5 . 京东大数据技术白皮书 序言 众所周知,大数据是企业的基本生产资料,数据信息是企业 宝贵的资产。不同于其他资产,数据资产主要在企业运营过程中 产生,较易获取,但要持续积累、沉淀和做好管理却并不容易, 这是一项长期且系统性的工程。未经“雕琢”的数据是一组无序、 混乱的数字,并不能给企业带来何种价值,从庞杂晦涩的数据中 挖掘出“宝藏”充满着挑战,这需要将业务、技术与管理三者相 互融合起来进行创新。 京东作为一家业内领先的互联网科技公司,完整的产业链条 带来了价值可沽的海量大数据,丰富的业务场景也为技术发展提 供了最佳创新土壤。从认知、探索到今天京东技术上的百花齐放, 我们经历了最为艰苦的创新和付出。业务的复杂与多元化,数据 的飞速增长,给我们带来了很多棘手问题,但也使得大数据平台 拥有更强大的能力,形成了一套完整的技术体系和有效的数据管 理方法,并在实践中得以验证和夯实。 京东大数据平台作为京东集团的数据中台,支撑了京东无界 零售的数据运营和创新。《京东大数据技术白皮书》总结了大数 据技术在京东的落地和成长,分享了大数据技术体系和管理架构, 阐述了大数据在京东的典型业务应用场景,并对大数据的技术方 向进行了展望,是一次对京东大数据平台的最全面解读,希望我 们的实践和思考能给同行以启发和参考,我们期待和业界一起推 ~3~
6 . 京东大数据技术白皮书 动国内大数据产业的进步和发展。 京东集团首席技术官 张晨 ~4~
7 . 京东大数据技术白皮书 前言 大数据概念近年来受到高度关注,大数据在各个行业的应用 及其带来的影响也引起越来越多的讨论。大数据正在从单纯的技 术概念向实际部署应用转变;从少数领域向众多领域渗透;从企 业内部向各产业与公共服务方向扩展。目前,无论国内还是国外, 大数据技术都在经历前所未有的快速演变,以满足各种应用的需 求。 我国已将大数据发展确定为国家战略,强调要瞄准世界科技 前沿,集中优势资源突破大数据核心技术,加快构建自主可控的 大数据产业链、价值链和生态系统。大数据产业在国内发展得如 火如荼,据统计,2016 年大数据产业规模达 14500 亿元,2017 年 达 19570 亿元,到 2020 年将达到 5 万亿元。大数据技术已经在如 电子商务、政务、民生、金融、工业、医疗等多个领域中广泛应 用。 从国内的大数据技术和行业应用发展来看,大数据技术的基 础架构技术已日趋成熟,大数据领域由技术创新驱动转向应用创 新驱动的趋势开始显现,但更多的传统企业在如何建设大数据平 台,如何利用大数据来驱动企业业务发展上仍然缺乏经验,这在 一定程度上制约了大数据技术的大规模产业应用。 京东拥有全渠道零售和端到端的高质量大数据,包含了用户 的浏览和消费行为、商品制造和销售、物流仓储配送以及客服与 ~5~
8 . 京东大数据技术白皮书 售后等丰富完整的信息。同时,京东业务中包含有大量丰富的大 数据应用场景,是大数据实践的最佳场所。早在 2010 年,京东集 团就启动了大数据领域的研发和应用探索工作,经过八年来的持 续投入,京东大数据平台无论从规模、技术先进性,还是体系的 完整性等方面均已达到国内一流水平。作为支撑公司数据运营的 重要阵地,目前已拥有集群规模 40000+服务器,数据规模达 800PB+,每日的 JOB 数 100 万+,业务表 900 万+,每日的离线 数据日处理量 30PB+,单集群规模达到 7000+台,实时计算每天 消费的数据记录近万亿条。 京东大数据平台建设了完整的技术体系,包括离线计算、实 时计算和机器学习平台,可以满足多种复杂应用场景的计算任务。 元数据管理、数据质量管理、任务调度、数据开发工具、流程中 心等构成了全面的数据运营工具。分析师、指南针等数据应用产 品提供了便利的数据分析功能,以及敏感数据保护、数据权限控 制等策略方案,能够最大程度地保护数据资产的安全。 京东大数据在驱动企业业务增长,提升运营效率,为客户提 供个性化、高品质产品及服务上发挥了重要作用。利用大数据分 析和挖掘,京东打造了个性化商城,自主研发了智能门店解决方 案,打造了智能供应链体系,提高了物流配送的效率,实现了知 人、知货、知场景的购物体验。京东大数据的应用已渗透到了业 务的各个环节。 近几年,京东大数据承担了包括大数据和人工智能领域在内 ~6~
9 . 京东大数据技术白皮书 的多项国家级重点研发项目。2017 年,京东获得了国家 “大数 据智能管理与分析技术”国家地方联合工程研究中心的授牌。这 些都是国家对京东大数据实力的认可,是京东技术实力的体现。 京东是“开放的京东” ,随着国家大数据战略的逐步落实,我 们希望能输出京东的大数据技术能力,建设开放的技术平台,借 助技术和数据为政府和社会创造更多价值,我们希望借此白皮书 的发布,将京东的大数据技术实践分享出来,为其他企业提供参 考,同时,我们也欢迎更多的合作伙伴与我们一道,共同在大数 据领域深入探索,为我国大数据产业的发展贡献力量。 ~7~
10 . 京东大数据技术白皮书 1 京东大数据的发展历程 2010 年,京东集团启动了在大数据领域的研发和应用探索工 作,正式组建京东大数据部,并确立了数据集中式的数据服务模 式,成为企业大数据最早的实践者之一。 大数据平台的发展是随着京东业务同步发展的,由原来的传 统数据仓库模式逐步演变为基于 Hadoop 的分布式计算架构,如 图 1 所示。技术领域覆盖 Hadoop、Kubernetes、Spark、Hive、 Alluxio、Presto、Hbase、Storm、Flink、Kafka 等大数据全生态体 系。目前拥有研发团队 500+人,累计获得技术专利 400+个。 经过多年的持续投入,京东大数据已成为企业大数据的领跑 者。目前已拥有集群规模 40000+服务器,单集群规模达到 7000+ 台,数据规模 800PB+,日增数据 1P+,日运行 JOB 数 100 万+, 业务表 900 万+张。每日的离线数据日处理 30PB+,实时计算每 天消费的行数近万亿条。 图 1:京东大数据发展历程 ~8~
11 . 京东大数据技术白皮书 京东大数据建设了全生态核心产品体系,是京东大数据业务 的基础服务平台,为京东全业务生态提供一站式、自助式的大数 据处理全流程解决方案。涵盖数据采集、存储、加工、分析、可 视化、机器学习等专业化产品和服务,在保障数据安全的前提下, 提供更可靠、高性能的服务,大幅降低大数据使用门槛,帮助京 东大数据业务快速落地,助力京东实践以数据为驱动的业务变革 与发展。 ~9~
12 . 京东大数据技术白皮书 2 京东大数据的技术体系 京东大数据平台构建了完整的技术体系,通过一系列的技术 方法实现了更可靠、高可用、具有京东自身特色的平台环境。如 图 2 所示,平台覆盖 Hadoop、Kubernetes、Spark、Hive、Alluxio、 Presto、Hbase、Storm、Flink、Kafka 等技术全栈,满足各类应用 场景对数据平台的要求。 图 2:京东大数据平台技术架构 2.1 数据采集和预处理 数据采集是大数据的基石。京东包含了电商所涉及的营销、 交易、仓储、配送、售后等环节,每个环节都会产生大量的业务 数据,同时线上的业务日志系统和消息系统也会产生海量的数据。 为了将上述结构化和非结构化数据进行采集,以便后续被数据应 ~ 10 ~
13 . 京东大数据技术白皮书 用类系统所使用,京东搭建了一套标准化的数据采集系统——数 据直通车。 数据直通车为京东线上数据接入京东数据仓库提供了一套 完整解决方案,为后续的查询、分发、计算和分析提供数据基础。 直通车提供丰富多样、简单易用的数据采集功能,可满足离线计 算、实时计算、集成分发等多种需求,并进行全程状态监控。 根据不同业务场景对于数据时效性的不同要求,直通车支持 离线数据采集和实时数据采集两种数据采集方式。 离线数据采集主要支持的数据类型为:MySQL、SQL Server、 Oracle、MongoDB、HBase、ElasticSearch、离线文件;实时数据采 集主要支持的数据类型为:MySQL、日志、HTTP API、JMQ 等, 并支持 API 接口实现实时数据上报。 离线采集每天在零点后抽取前一天增量的数据(T+1) ,然后 将 T+1 的数据与已有的全量数据合并形成新的全量数据,并将 数据储存到目标表对应的分区中。图 3 展现了离线数据采集的完 整架构: ~ 11 ~
14 . 京东大数据技术白皮书 图 3:离线数据采集架构 数据直通车同样为实时数据采集提供了一套标准化的解决 方案,实时数据采集目前支持 MySQL、SQL Server、Oracle、JMQ、 日志等多种数据源类型。 对于 MySQL 数据库,系统参照数据库的主从复制模式,通 过把关系型数据库的 Binlog 日志实时抓取并解析发送到实时数 据总线(JDQ)内。实时采集按照数据库实例粒度抓取 MySQL 实 例上的所有 Binlog,在程序内部进行 Binlog 的实时解析并过滤出 所需要的库表,再以表粒度发送到不同的 Topic 上,方便下游用 户进行业务表粒度的实时处理。 JMQ 是京东内部线上系统的消息中间件服务, 很多业务数据 在落数据库之前都会经过 JMQ 系统在不同的业务系统之间进行 传递。数据直通车可以把 JMQ 内的线上系统消息实时地同步到 实时数据总线(JDQ)内,再由数据消费者按需处理,极大地提 ~ 12 ~
15 . 京东大数据技术白皮书 高了数据处理系统的服务能力。 京东内部所有系统的实时数据都会通过数据直通车实时采 集到 JDQ 系统,统一由 JDQ 对下游业务需求提供实时数据消费 服务。该方案帮助业务用户在技术层面屏蔽了实时数据采集的复 杂度,并使得系统能够提供稳定的服务能力。 2.2 流量数据采集 目前京东拥有丰富的入口平台,包括 PC 上看到的网站,无 线客户端上访问的 H5 页面,移动端应用,微信手 Q 内的购物入 口,京东自主研发或合作的智能设备,微信生态下的小程序,以 及通过开普勒开放赋能给其他合作的 APP 等等。多样的数据展 示形式使得不同的访问入口每天都有大量的用户访问,流量数据 采集成为了京东大数据的一个重要环节。由于入口平台实现原理 不同,数据采集的诉求也不同,包括针对不同的事件,不同的场 景有着特定的采集诉求等,以下我们将开始介绍在京东流量数据 采集的相关技术。 2.2.1 浏览器页面的采集 2.2.1.1 采集流程 浏览器的日志采集,主要包含两大类日志:页面日志、点击 及自定义日志,其中页面日志采集主要是指浏览器中页面被加载 时的日志,而点击及自定义日志则是相关行为被触发后产生的日 ~ 13 ~
16 . 京东大数据技术白皮书 志,页面日志采集的流程如图 4 所示。 图 4:页面日志采集流程 页面日志采集主要包含以下几个环节: (1) 日志采集。网站的页面在上线前,会在页面内植入一段 JS 的采集脚本,当用户在访问网站的页面时,浏览器会 进行加载、解析并执行 JS 脚本,JS 脚本在执行过程中会 收集当前页面的一些信息、浏览器环境的相关信息、用 户访问上下文的信息(例如第几次访问网站,当前访问 页面的上一页面信息等等)以及业务特性的相关数据。 (2) 日志上报。JS 脚本执行在执行完毕后,会将所有收集到 的信息拼装到一个请求内,通过日志请求将数据发送到 日志服务器。一般情况下,在 JS 执行完成后就会立即向 日志服务器发送。 (3) 日志接收。日志接收服务器在接收到客户端发送来的 ~ 14 ~
17 . 京东大数据技术白皮书 日志请求后,会向浏览器返回一个请求成功的响应。日 志服务器在接收到上报的日志后,还会在服务器上执行 业务定制的特殊处理,对日志进行过滤筛选,然后再将 日志存储在本地磁盘或者发送至实时平台中,供下游使 用。 (4) 日志存储。目前采集到的日志通过两种方式进行存储: 离线和实时。其中离线主要指服务器在接收到日志请求 后,会将请求进行简单处理后落地到本地的磁盘中,然 后通过日志抽取的方式将本地的日志及时抽取到相应 的数据仓库中,实时则是将请求的消息体实时地分发到 相应的实时处理平台中进行缓存,下游则根据该缓存的 数据进行后续的应用。 (5) 日志解析。下游业务在拿到原始日志后,结合自己的业 务需求对数据进行过滤筛选,同时结合统计分析的需求 对数据进行加工处理。 日志经过了以上的几个步骤后,我们就完成了用户的流量数 据收集。 2.2.1.2 页面日志 网页页面是网站最基本的载体,通过页面的形式将希望展示 的内容呈现给用户。为了更好地了解页面的访问情况,就需要我 们采集页面的访问日志,有了页面日志后,我们可以统计分析页 ~ 15 ~
18 . 京东大数据技术白皮书 面的浏览量(pv) 、页面的访客数(uv) 、页面的加载时长、页面 的停留时长等情况,也可以进行上下游的分析,访问用户的分析, 为营销策略调整提供数据支撑。 页面日志主要是在用户访问页面的时候进行采集的,目前主 要采集了页面的基本信息、页面上下文、页面业务信息、页面的 其他基本信息。 2.2.1.3 点击及自定义日志 点击及自定义日志,主要用于收集用户在网站中除浏览以外 的日志,主要包括交互日志、曝光日志、自定义日志等。对于交 互日志,例如用户通过鼠标的相关操作,移动、点击鼠标等操作 与页面发生交互,页面会根据交互行为得到相应的结果,在用户 触发这些交互行为时,会触发页面采集的脚本,从而将该部分交 互日志采集到。曝光日志则是根据用户访问页面后,页面自发展 示的一些其他内容形式,例如弹窗,轮播图等等形式。为了看到 曝光之后用户对该内容的转化效果,就需要知道目前曝光的具体 情况,例如在什么时间、曝光给了那些用户等等。自定义日志则 是根据业务特性定制的一些特殊日志,例如采集页面停留的位置, 用户在页面中的访问路径等等。 点击及自定义日志的采集方法主要为用户特定标记的信息 采集,即在网页上预设采集脚本,当该网页的某个位置被点击或 自定义的行为被用户触发了,则会产生相应日志并上报给日志服 ~ 16 ~
19 . 京东大数据技术白皮书 务器。随着触发条件被同时采集的还包括用户的基本信息、页面 的基本信息、浏览器的基本信息,以及访问历史相关的信息等。 点击及自定义日志的采集,更好地还原了用户在网站页面中 的访问情况。有时为了更好地记录用户的访问行为,需要使用相 应的标识用来做各种场景的区分,同时在采集代码植入时就标记 下来,这样在用户的行为发生时,相应的日志就能够采集到更完 善的信息,为我们后续的数据统计分析及业务应用提供了帮助。 2.2.2 移动设备日志采集 随着用户对移动设备的依赖越来越重,用户的访问也逐步向 移动端迁移,移动端的数据采集也越来越重要。目前移动设备基 本以 APP 应用的方式进行对外应用,针对 APP 应用的数据采集, 京东提供了自主研发的 SDK 工具。该 SDK 可以收集用户在 APP 的各种事件行为数据,收集 APP 的性能日志,也支持研发采集 一些自定义状态,自定义事件等场景的数据。SDK 被预置在 APP 应用内,用户在使用 APP 的过程中,如果触发了预先设计的场 景,将会触发 SDK 的采集方法,进而生成相应的用户行为日志, 并收集到 APP 应用内,并在合适的时机下上报的日志接收服务 器。 2.2.2.1 页面标识 网站页面在浏览器内访问时,会有相应的页面链接,而用户 ~ 17 ~
20 . 京东大数据技术白皮书 在移动设备上访问时,由于移动端的特殊性,页面都是以接口的 形式展示,但接口不直观,数据人员无法直接访问展示,直接判 定该页面具体信息,因此需要针对页面接口进行重新标识。京东 提供了相应的管理界面,可以备注具体接口对应的别名信息,接 口描述信息,业务可以快速地查阅和使用。 2.2.2.2 页面事件 用户在移动设备上留下各种事件行为,事件行为都是由后台 实现的一些通用接口方法来实现,为了标识这些事件,并且以更 简单易懂的信息来标识,我们提供了页面事件管理的功能,通过 事件管理来标识具体的行为事件。研发通过埋点开发,将这部分 事件行为植入到对应的接口中,再通过 SDK 进行采集上报,就 可以快速地标识出用户的事件数据。 2.2.2.3 特殊场景 电商行业包含了两大特殊的业务场景:引流、跟单。 引流:引流主要指的是广告渠道的引流效果跟踪,业务在站 外投放广告,用户通过点击广告坑位进入网站,然后在网站中进 行后续的访问,为了跟进各个广告位的流量进入及订单转化效果。 京东目前对站外广告渠道进行打标,在用户通过点击广告位跳转 到京东后,来源的链接上会有相应的广告参数,再借助业务制定 的广告覆盖规则更新广告渠道信息,而这部分广告渠道信息将会 ~ 18 ~
21 . 京东大数据技术白皮书 保持在后续访问的所有页面内,通过页面的广告渠道信息就可以 统计分析出各个广告渠道的引流效果。 跟单:跟单主要指的是订单来源的跟踪,跟单效果包含两大 类,一个是站外的订单效果跟踪,一个是站内的订单效果跟踪。 其中站外跟单效果分析,由于页面中包含了广告渠道的信息,因 此可以通过页面中包含广告参数信息来统计分析,站内活动或者 坑位的引入效果没有标识,我们设定了相应的跟单逻辑,通过对 应的跟单逻辑可以跟踪各个坑位的订单引入效果。 2.2.2.4 设备标识 目前移动设备可以通过 MEID,IMEI,IMSI,MAC,以及苹 果的 UDID 信息来识别,但是随着用户的自我保护意识加强,苹 果系统禁用设备标识,Android 新系统也对设备信息做了权限控 制,用户的基本设备信息获取愈发困难,想要进行设备标识成为 了一个需要攻克的难题。为了更好地分析用户,识别一个用户的 所有访问记录,将用户的画像信息描绘得更完善,就需要一个设 备唯一标识。京东通过移动设备相关的硬件信息,并结合一定的 历史数据及算法,融合出自己的唯一标识 JDID,通过该标识唯 一标识一个设备。 2.2.2.5 H5 与 APP 原生页 我们在访问一个 APP 设备时,通常会包含两种页面形式, ~ 19 ~
22 . 京东大数据技术白皮书 一种是 APP 原生页,一种是 H5 页面,其中 APP 原生页的数据 采集通过 SDK 的方式来采集,H5 页面则是通过页面中的 JS 来 进行采集,由于是在同一个 APP 内访问,业务人员通常希望将 APP 内的 H5 的数据算作 APP 的一部分,而由于采集方式的不 同,数据需要进行统一,同时也需要相应的交互处理,即 H5 页 面可以标识出来具体是在哪个 APP 应用内访问带来的。 2.2.2.6 日志采集控制 用户在移动设备上访问后,每个操作都会产生一个操作日志, 但并不是每生成一条日志就实时上报至服务器,而是在产生日志 后,先暂存在客户端本地,再结合着相应的上报控制策略进行数 据上报。其中上报策略主要指根据日志的业务特性,数据的时效 性,用户的网络特性等等信息设定不同的上报策略,有些日志会 因为其数据时效性的要求进行实时数据上报,而有些日志则会在 用户启动应用,或者间隔一段时间后将日志上报上来。 2.2.3 客户端与服务器日志采集 除了浏览器和移动设备外,用户可能有自己的客户端或者服 务端的日志需要进行采集,京东提供了相应的数据采集方案。其 中客户端也主要以服务器端方式进行日志采集,通过相应的接口 调用,在后台组织好相应的日志形式,然后向日志接收服务器发 送日志请求。日志接收服务器则根据约定的协议判定该日志是否 ~ 20 ~
23 . 京东大数据技术白皮书 为合法日志,最终将业务日志落地到相应的服务器上。 2.2.4 采集的难点与挑战 2.2.4.1 业务特性 在数据采集过程中遇到的一个难点就是业务特性信息的收 集,不同的业务场景需要收集不同的信息,但又不能每个业务场 景都进行特殊开发,因此就需要设计一种日志数据采集解决方案, 可以针对特定的业务场景,制定通用的数据采集标识,研发人员 在进行页面埋点时,依据标准的数据采集标识规则进行埋点,从 而收集业务的详细信息。例如电商行业中有商品详情页、搜索页、 店铺页、下单页等特殊分类页面,而这些页面则需要分别采集具 体的商品编号、搜索的关键字、店铺编号、订单对应的编号信息。 该部分信息需要多方达成一致,确保产品、埋点研发、模型开发 人员、数据分析人员对其有着相同的认识,以保证采集到的数据 可以正常的解析处理,供分析人员进行数据统计分析,利用数据 采集标识即可做到这一点。 2.2.4.2 全域用户标识 目前京东存在的入口很多,包括 PC 端的网站,移动端的网 页,移动应用,包括微信手 Q,微信小程序等,同时京东还有很 多的垂直业务,例如京东金融,京东全球购等等,而用户在不同 的入口都有着不同的标识方式,而如果用户在未登录的情况下, ~ 21 ~
24 . 京东大数据技术白皮书 如何将用户在全域下识别成同一个用户成为了一个重要课题。京 东依据各入口的用户标识方式,结合用户之前的使用记录,用户 偏好等等信息,再结合自用的算法逻辑,将全域的信息进行打通, 形成全域的用户唯一标识。通过全域的用户唯一标识,我们就可 以知道一个用户在不同网站,不同设备上的访问习惯,方便营销 人员对用户进行更精准的营销活动。 2.3 数据存储体系 2.3.1 HDFS 存储 JDHDFS 是京东基于 HDFS 自研的大数据分布式存储平台, 采用分布式存储技术,满足大数据高效可靠的存储需求,提供较 高的持久性、较高的吞吐量和较低的延迟速度, 具备高可用性和 高可靠性的特点,容易扩展, 并支持水平扩展至百 PB 级存储容 量, 同时拥有较高的硬件故障容忍能力, 提供全面的安全性和多 样化的权限功能。 相对于开源版本的 HDFS, ,JDHDFS 主要改进的技术点如 下: (1)基于路由的 Federation 方案(Router-Based Federation) 随着集群规模的增长,Namenode 存储成为集群性能的关键 瓶颈。我们参考社区版本设计文档, 研发功能模块 RBF(Router- Based Federation 基于路由的 Federation 方案), 支持动态映射、 嵌套映射等功能,可以解决 hadoop 集群无限横向扩展的规模问 ~ 22 ~
25 . 京东大数据技术白皮书 题。 (2)数据生命周期管理(Data Lifecycle Management)组件 基于数据生命周期管理的策略,该组件定期调度进行过期 Job 日志聚合目录 app-logs、中间结果文件、Cgroups 文件的清理 以及固定周期小文件的整理合并。 (3)基于资源利用率的智能选块 改进后的 Namenode 节点可以实时感知集群所有 Datanode 的繁忙状态,根据 CPU、内存、磁盘、网络的繁忙程度进行副本 的位置选择,规避繁忙状态的 Datanode 节点,可以对整个集群 的负载实时平衡。 (4)跨集群容灾 集群往往不在同一个数据中心,甚至是跨地域的。集群间网 络延迟较高,交换数据成本昂贵。原有执行同步的方式会造成数 据延迟。我们基于集群数据同步方式代替 distcp, 同时做到数据 低延迟访问, 支持双主访问, 降低额外物理资源冗余。 京东分布式存储采用将元数据集群与数据集群分离并可实 现独立扩展,用户既可以通过扩展元数据集群获得更多文件管理 的能力,又可通过扩展数据存储集群获得更大的聚合带宽与存储 容量。灵活、无缝、平滑的扩展方式可以为用户高效的计算环境 提供坚实的数据保障。图 5 展示 JDHDFS 的技术架构。 ~ 23 ~
26 . 京东大数据技术白皮书 图 5:JDHDFS 技术架构 数据高可靠和平台高可用 平台可用性是最重要的指标之一,需要保证在机器发生故障 时,系统可用性不受影响。我们使用多副本策略, 副本分布在不 同的机器, 机器故障引起某些副本失效时,其它副本仍然能提供 服务。 平台允许对虚拟存储池中不同的目录设置不同的副本数,可 手动设置 1-4 个文件副本, 可保证数据在多块磁盘甚至单台服 务器损坏的情况下存储系统的服务正常运转。 为了保证任何一台存储服务器失效或者是任何一块硬盘失 效都不会影响数据的可靠性和一致性,使用 pipeline 机制保证数 据写入顺序,所有的数据副本以及数据校验有严格写入顺序,如 ~ 24 ~
27 . 京东大数据技术白皮书 图 6 所示。当正在进行数据写入的磁盘和存储服务器发生故障时, 元数据服务器会为此数据对象分配新的空间,以继续进行数据写 入,而之前在失效磁盘上写入的数据则会通过另一份数据副本恢 复到相应的磁盘和存储服务器上。 图 6:JDHDFS 存储架构图 集群水平扩展能力 存储平台中的元数据服务器和存储节点是拥有横向水平扩 展能力。存储节点扩展是存储节点数量的扩展,存储节点扩展带 来容量上的增长。扩展过程中无需中断存储系统上应用的运行, 扩展的容量即插即用。而且随着存储服务器数量的增多,整套存 储平台的流量也会线性增长,成为核心存储集群之一。 元数据服务器的扩展带来的是文件数量存储能力的增长。如 图 7 所示,整个扩展过程对整个应用平台完全透明,扩展的元数 据服务器即刻能够提供服务,前端应用无需进行任何配置。随着 元数据服务器数量的增多,整套集群存储系统所提供的元数据服 务能力也会呈线性增长,能够管理的文件总个数也线性增加。 ~ 25 ~
28 . 京东大数据技术白皮书 图 7:元数据服务器 2.3.2 HBase 存储 JDHBase 是一个分布式存储系统,具有高效的实时读写性能。 可以支持每秒千万级数据记录写入和毫秒级的查询响应,当数据 量达到 PB 级别,仍然保持高性能读写。 目前京东 HBase 集群规模 5000 多台,支持京东 600 多个业 务系统,典型业务有: 商城:商品评价、会员 PLUS、个性推荐、用户画像、 POP 订单、商家营销 智能:JIMI 机器人、AI 图片、图像识别、门禁刷脸 金融:风控、白条、支付、资管 物流:订单追踪、物流仓储、销量预测 监控:统一监控、服务器监控、容器监控、大数据监控、 ~ 26 ~
29 . 京东大数据技术白皮书 大屏监控 JDHBase 集群的服务端 (如图 8 所示) 是京东 HBase 的核心, 它保障了 HBase 集群的性能和稳定,并提供了安全认证、主备切 换、分组隔离、SQL 支持等重要功能。 JDHBase 的客户端是京东 HBase 的重要支撑,所有业务程序 都使用标准客户端来访问 HBase 集群,实现了用户身份认证、主 备切换、实时监控等功能。 JDHBase 服务中心实现了各集群之间的统筹管理,通过它我 们可以控制业务数据在多个集群中的流向形成数据流向拓扑,方 便地进行数据的迁移。同时提供对业务端透明的主从、主主策略 的动态变更。 图 8:JDHBase 服务架构 京东 HBase 特点: (1) 4+1 架构 针对京东的业务场景和使用方式,我们对 JDHBase 的使用 ~ 27 ~