Hadoop之NameNodeFederation的示例分析

这篇文章给大家分享的是有关Hadoop之NameNode Federation的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了祁阳免费建站欢迎大家使用!

一. 前言

1.NameNode架构的局限性

(1)Namespace(命名空间)的限制

由于NameNode在内存中存储所有的元数据(metadata),因此单个NameNode所能存储的对象(文件+块)数目受到NameNode所在JVM的heap size的限制。50G的heap能够存储20亿(200million)个对象,这20亿个对象支持4000个DataNode,12PB的存储(假设文件平均大小为40MB)。随着数据的飞速增长,存储的需求也随之增长。单个DataNode从4T增长到36T,集群的尺寸增长到8000个DataNode。存储的需求从12PB增长到大于100PB。

(2)隔离问题

由于HDFS仅有一个NameNode,无法隔离各个程序,因此HDFS上的一个实验程序就很有可能影响整个HDFS上运行的程序。

(3)性能的瓶颈

由于是单个NameNode的HDFS架构,因此整个HDFS文件系统的吞吐量受限于单个NameNode的吞吐量。

2.HDFS Federation架构设计,如图所示

能不能有多个NameNode

Hadoop之NameNode Federation的示例分析

Hadoop之NameNode Federation的示例分析

HDFS Federation架构设计

二.实现

NameNode HA是为了解决NameNode可用性的问题,而NameNode Federation则主要是为了解决NameNode扩展性,隔离性,以及单个NameNode性能方面的问题。NameNode Federation架构如下:

Hadoop之NameNode Federation的示例分析

NameNode Federation使用了多个命名空间,这些命名空间互相独立,自制(其实是对元数据的水平切分),而集群中所有DataNode向所有NameNode都进行注册,而一个块池(block pool)有属于同一个命名空间的数据块组成,每个DataNode可能会存储集群中所有块池的数据块,每个块池互相独立,有一个挂掉了也不会影响其他块池正常工作。

同时部署了NameNode HA和NameNode Federation时,集群结构会相对复杂一点,如下图。在实际的生成环境中,NameNode HA几乎是必备,而当集群规模在1000台以下时,几乎是不需要NameNode Federation的。

Hadoop之NameNode Federation的示例分析

感谢各位的阅读!关于“Hadoop之NameNode Federation的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


本文题目:Hadoop之NameNodeFederation的示例分析
文章转载:http://scyanting.com/article/piojde.html