Router-Based HDFS Federation 在滴滴大数据的应用

本文介绍了滴滴如何应对HDFS单点瓶颈,采用Router-Based Federation方案解决扩展性、性能和隔离问题。该方案基于服务端的Router组件和State Store组件,提供统一命名空间,具有高可用性和容错性。滴滴在实际应用中进行了部署、兼容性改造,并对方案进行优化,贡献了多个补丁到社区。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、背景

HDFS 的 Master/Slave 架构,使得其具有单点瓶颈,即随着业务数据的大规模膨胀,Master 节点在元数据存储与提供服务上都会存在瓶颈。为了克服 HDFS 单点瓶颈存在的扩展性、性能、隔离问题,社区提出了Federation(https://issues.apache.org/jira/browse/HDFS-1052 )方案来进行解决。

但是使用该方案之后,暴露给客户的问题就是,同一个集群出现了多个命名空间(namespace),客户需要知道读写的数据在哪个命名空间下才可以进行操作。为了解决统一命名空间的问题,社区提出了基于客户端(client-side)的解决方案 ViewFS(https://issues.apache.org/jira/browse/HADOOP-7257 ),该方案会在客户端做好配置,用户目录一对一的挂载到具体的命名空间目录上,滴滴在解决 Federation 问题时使用的就是这个方案。

ViewFS 方案也存在一些问题:

  • 对于已经发布出去客户端升级比较困难;
  • 对于新增目录需要增加挂载配置,与产品对接,维护起来比较困难。

社区在 2.9 和 3.0 版本中发布了一个新的解决统一命名空间问题的方案 Router-Based Federation(https://issues.apache.org/jira/browse/HDFS-10467 ),该方案是基于服务端进行实现的,在升级管理方面比较好维护,滴滴最近引入了该方案,并进行了一些改造。

二、Router-Based Federation 方案介绍

Router-Based Federation 对外提供了 Router 服务,包含在 Federation layer 中,如下图所示。这个 Router 服务将允许用户透明地访问任何子集群,让子集群独立管理自己的 Blockpool。为了实现这些目标,Federation layer 必须将 Block 访问引导至适当的子群集。同时,它具有可扩展性,高可用性和容错性。

在这里插入图片描述

Federation layer 包含多个组件。Router 是一个与 Namenode 具有相同接口的组件,根据 State Store 的元数据信息将客户端请求转发给正确的子集群。State Store 组件包含了远

京东的大数据平台中,HDFS的高可用性、高可靠性和扩展性的实现关键在于其对Hadoop分布式文件系统的深化和定制化优化。首先,HDFS的高可用性是通过数据的多副本存储和NameNode的高可用架构来保证的。京东通过对HDFS的NameNode进行改造,引入了Router-Based FederationRBF)方案,这一方案通过路由节点来分散元数据的压力,支持动态和嵌套的命名空间映射,从而提高了系统的扩展性。在RBF方案下,集群的命名空间可以横向扩展,支持PB级别的数据存储,有效地提升了系统的可用性和可靠性。同时,路由节点还能够管理大量命名空间,这降低了延迟,并提高了硬件故障的容忍度。此外,京东在HDFS上还集成了数据安全和权限管理功能,确保数据在存储、传输和处理过程中的安全性。这些措施不仅提高了HDFS的可靠性,也保证了数据的安全性和完整性。京东的技术实践表明,通过定制化的架构设计和优化,HDFS能够满足大规模、高并发、高速发展的电商行业对数据存储和处理的要求。如果想要深入了解京东是如何通过HDFS实现数据存储的高可用性和扩展性的,推荐阅读《京东大数据技术:HDFS 分布式存储与优化》。这本书详细阐述了京东在分布式存储方面所采用的技术和策略,以及如何在保证数据安全的同时,实现大数据平台的高可用性和扩展性。 参考资源链接:[京东大数据技术:HDFS 分布式存储与优化](https://wenku.youkuaiyun.com/doc/1on74338xr?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值