Hadoop单节点故障改进方案对比

本文探讨了HDFS单点故障的问题,提出了多种改进方案,包括Federation HDFS、HDFS2、ADFS(TBFS)、XFS、MAPR、Clover和Ceph等,分析了各自的优缺点。Federation HDFS和HDFS2通过命名空间和块管理的分离提高了可扩展性和并发处理能力,而ADFS和XFS利用数据库和主从热备实现高可用。Ceph则采用了元数据和对象存储分离的架构。文章还讨论了命名空间管理和元数据管理的策略,并提供了JDFS的开发步骤建议。
摘要由CSDN通过智能技术生成

HDFS 单点改造方案对比

1背景

目前,HDFS集群的架构包括了单个Name Node和若干个DataNodeName Node负责两方面的事情:一方面是存储和管理整个命名空间,包括创建、修改、删除和列举文件目录等文件系统级别的操作;另一方面是管理Data Node和文件块。Data Node主要负责文件块的持久化存储和远程访问。

1.1命名空间管理

HDFS的命名空间包含目录、文件和块。命名空间管理:是指命名空间支持对HDFS中的目录、文件和块做类似文件系统的创建、修改、删除、列表文件和目录等基本操作


1.2 块管理

A) 处理Data Node向NameNode注册的请求,处理datanode的成员关系,处理来自DataNode周期性的心跳。

B) 处理来自块的报告信息,维护块的位置信息。

C) 处理与块相关的操作:块的创建、删除、修改及获取块信息。

D) 管理副本放置(replica placement)和块的复制及多余块的删除。

目前HDFS为单NameNode模式,Namenode运行时将元数据及其块映射关系加载到内存中,随着集群数据量的增大,Namenode的内存空间也会遇到瓶颈。据实际生产经验统计如下:

文件数

数据块数

内存空间占用

3千万

3千万

约12GB

块管理 ≈ 7.8G,包括全部块副本信息

目录树 ≈ 4.3G,目录层次结构,包含文件块列表信息

10亿

10亿

约380GB

块管理 ≈ 240GB

目录树 ≈ 140GB

注:淘宝与百度等均以支撑10亿的文件数为设计目标,京东文件系统的业务对象主要为图片,电子书等,10亿文件量可能只是时间问题。

2方案对比

2.1 Federation HDFS

HDFS Federation使用了多个独立的Namenode/namespace来使得HDFS的命名服务能够水平扩展。在HDFS Federation中的Namenode之间是联盟关系,他们之间相互独立且不需要相互协调。HDFS Federation中的Namenode提供了提供了命名空间和块管理功能。Federation中引入了block pool的概念,负责对该命名空间的数据块进行管理。命名空间和它所拥有的BlockPool统称为一个Namespace Volume。datanode被所有的Namenode用作公共存储块的地方。每一个datanode都会向所在集群中所有的Namenode注册,并且会周期性的发送心跳和块信息报告,同时处理来自Namenode的指令。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值