时间:2021-05-20
一. 前言
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
HDFS Federation架构设计
二.实现
NameNode HA是为了解决NameNode可用性的问题,而NameNode Federation则主要是为了解决NameNode扩展性,隔离性,以及单个NameNode性能方面的问题。NameNode Federation架构如下:
NameNode Federation使用了多个命名空间,这些命名空间互相独立,自制(其实是对元数据的水平切分),而集群中所有DataNode向所有NameNode都进行注册,而一个块池(block pool)有属于同一个命名空间的数据块组成,每个DataNode可能会存储集群中所有块池的数据块,每个块池互相独立,有一个挂掉了也不会影响其他块池正常工作。
同时部署了NameNode HA和NameNode Federation时,集群结构会相对复杂一点,如下图。在实际的生成环境中,NameNode HA几乎是必备,而当集群规模在1000台以下时,几乎是不需要NameNode Federation的。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
启动hadoop的命令行: 1、start-all.sh 启动所有的Hadoop守护进程。包括NameNode、SecondaryNameNode、DataN
有时候需要在Linux下查看一个进程占用了那个端口,但是只知道进程大致的名称,比如要查看hadoop的namenode在哪个端口上运行,以便在eclipse中连
Hadoop中HBaseShell命令的详解HBase包含可以与HBase进行通信的Shell。HBase使用Hadoop文件系统来存储数据。所有这些任务发生在
Hadoop多Job并行处理的实例详解有关Hadoop多Job任务并行处理,经过测试,配置如下:首先做如下配置:1、修改mapred-site.xml添加调度器
大数据之常见的Hadoop十大应用误解常见的Hadoop十大应用误解。Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底