HDFS Federation

HDFS联盟通过多个NameNode实现水平扩展,解决了单NameNode的内存限制问题。每个NameNode独立管理自己的命名空间和块池,提高了系统的可扩展性和吞吐量。

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

https://www.linuxidc.com/Linux/2014-04/100056.htm
https://www.cnblogs.com/meiyuanbao/p/3545929.html
http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/Federation.html

第一代Hadoop HDFS:
这里写图片描述
结构上由一个namenode和众多datanode组成。

功能上划分为namespace和block storage service 两部分。

HDFS Federation(HDFS联盟)是怎么回事?
  答:联盟的出现是有原因的。我们知道NameNode是核心节点,维护着整个HDFS中的元数据信息,那么其容量是有限的,受制于服务器的内存空间。当NameNode服务器的内存装不下数据后,那么HDFS集群就装不下数据了,寿命也就到头了。因此其扩展性是受限的。HDFS联盟指的是有多个HDFS集群同时工作,那么其容量理论上就不受限了,夸张点说就是无限扩展。

所谓的HDFS Federation就是有多个namenode(或者说namespace)。
每两个NameNode节点组成一个Federation,每个Federation独立管理自己的元数据。

这里写图片描述
  这里有block pool的概念,每一个namespace都有一个pool,datanodes会存储集群中所有的pool,block pool之间的管理是独立的,一个namespace生成一个block id时不需要跟其它namespace协调,一个namenode的失败也不会影响到datanode对其它namenodes的服务。

  一个namespace和它的blockpool作为一个管理单元,删除后,对应于datanodes中的pool也会被删除。集群升级时,这个管理单元也独立升级。

  这里引入clusterID来标示集群所有节点。当一个namenode format之后,这个id生成,集群中其它namenode的format也用这个id。

多namenode的好处

1、namespace可扩展性。原来只有hdfs存储可以水平扩展,现在namenode也可以做到了,减轻单namenode的内存和服务压力。

2、性能方面。多个namenode可以提高读写时的吞吐量。

3、隔离性。隔离不同类型的程序,一定程度上控制资源的分配。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值