采用自研 Yarn Federation 技术实现资源按需无限扩展
京东大数据平台的离线计算基于 Hadoop 分布式技术构建。随着集群规模的迅速扩张,基于Yarn 的资源管理已出现性能瓶颈, 无法满足规模扩展的要求。京东大数据平台部自研了 YarnFederation 技术,如图所示,解决目前开源版本的 Yarn 带来的性能瓶颈。通过 Yarn Federation 技术打破了 Hadoop 分布式系统间物理隔离,数据可以在多个 Hadoop 系统间任意流转,最终突破 Hadoop 分布式系统规模限制,实现了资源按需扩展。
京东Yarn Federation 技术架构图
采用自研大数据虚拟化容器技术实现计算资源共享
Kubernetes 是 Google 开源的容器集群管理系统。它构建在Docker 技术之上,为 Docker 容器提供资源调度、部署运行、服务发现、扩容缩容等功能。目前 Kubernetes 系统在京东集团得到了广泛的应用 。
京东大数据平台自研了“大数据虚拟化容器”技术,如图所示,打通了 Hadoop 与Kubernetes 系统之间的技术壁垒,实现了 Hadoop 与 Kubernetes 系统混合部署与资源共享。
京东大数据平台的实时计算、Spark 计算、HBase 等核心数据服务可以同时运行在 Hadoop 与Kubernetes 系统上,并实现了资源共享、数据任意切换,大幅提高了大数据平台的运算能力与整体性能。
京东大数据虚拟化容器技术架构图
采用自研 Vitual FileSystem 技术实现计算存储分离
一个 Hadoop 分布式系统可通过减少不必要的数据迁移和远程数据访问来提升计算效率。在实践中,当京东网络环境全面升级为万兆后,网络带宽已经不是稀缺资源,磁盘 IO 的读写效率反而成为了提升计算效率的瓶颈。计算和存储这两者之间便会随之产生木桶效应,造成集群的资源浪费。
通过对资源 Vitual FileSystem 技术的研究,京东大数据平台自主研发了智能存储策略、虚拟命名空间、资源隔离、调度系统路由器、存储系统路由器等创新技术,实现了存储计算分离,优化 CPU、IO、负载、磁盘容量、网络等策略,降低了集群 IO 和负载,使得 Hadoop 分布式系统的计算能力提升了 200%以上。
京东大数据平台是一站式的服务平台,主要体现在:
完整的数据链条
京东大数据平台的数据覆盖了用户、商品、采销、仓储、配送、订单、售后等电商全产业链数据,包含了用户从浏览、下单、配送到客服的完整过程,具有京东最完整的数据链条。
完善的技术体系
京东大数据平台建立了完善的技术体系。大数据平台支持结构化、半结构化、非结构化数据形态的数据采集和存储,具有高性能的离线计算、实时计算和机器学习环境,实现了数据处理任务的智能灵活调度,部署了集群的统一监控体系。大数据平台满足各类复杂应用场景的使用需求,为使用者提供完善的技术使用环境。
全面的平台产品和服务
大数据平台研发了从数据采集、数据存储、数据处理、数据查询及应用全流程贯通的平台产品,包括统一报表、数据仪表盘、即时查询、多维分析、元数据管理、数据开发平台、数据质量监控等多种数据管理工具,满足不同应用场景和使用者需要,实现了一站式、自助式的操作,全面提升数据开发、数据分析和应用的效率 。
大数据平台提供数据集市服务,基于 SLA 服务协议提供服务保障,快速解决用户使用过程中的问题,给用户带来较好的服务体验。
大数据平台拥有业界领先数据保护和数据共享能力。平台提供敏感数据保护及数据共享功能, 同时对数据全生命周期进行全链路的监控、审计。数据安全保护策略通过用户认证与传输通道加密, 保证用户使用过程中的数据安全, 全方位无死角的防篡改、防盗用、防截取, 为平台内部数据保驾护航 。
数据分级保护
通过数据敏感程度分层建设、分级防护,采用数据隔离、数据加密、数据使用审批的敏感数据保护策略,最大限度地保护用户数据安全,创造面向数据的安全管理系统,如图所示。
数据安全管控示意图
一级敏感数据
使用物理环境完全隔离方式, 严格控制数据访问与数据流动, 任何数据操作会有事前流程审批、事中数据变化监控、事后严格数据审计, 最大限度保障数据安全。
二级业务数据
通过用户的数据授权与审计方式, 控制数据的流向, 防止数据私下拷贝、下载等操作, 实时监控数据血缘关系, 标记数据最终流向 。
三级共享数据
针对用户间共享数据, 大数据平台会向数据生产方提供数据现有共享使用情况, 同时支持共享数据的灵活授权功能, 数据生产方能够更安全、更方便地进行数据分享。
用户权限与用户认证
大数据平台通过用户权限系统管控数据共享与数据私密性, 授权可到文件级,满足最小化授权要求, 同时保证用户信息不可伪造, 进而保障用户数据安全,下图展示了用户权限系统的架构 。
权限系统架构图
传输通道加密
如图所示,京东会针对数据分级情况,定义数据传输安全级别;对高等级数据,通过校验和加密防止数据在传输过程中被截取或篡改。我们联合安全团队,建立了分布式的密钥分发机制;并将在 RPC 层面利用密钥实现对敏感数据传输的加密 。
来源:京东大数据平台部
推荐阅读:
平均每天只写 7 行代码:一算法工程师被开除
数据治理体系完整指南(值得收藏)
DDD(Domain-Driven Design)领域驱动架构介绍
得到CEO脱不花:面试一个人,问这4个问题就够了!
腾讯云 - ClickHouse性能调优及实践
一款神仙儿 MySQL 审核平台,吊到不行!