18
2021
02

(X)namenode内存包含哪些,具体如何分配

NameNode整个内存结构大致可以分成四大部分:Namespace、BlocksMap、NetworkTopology及其它,图2为各数据结构内存逻辑分布图示。


图2 NameNode内存全景图


1)Namespace:维护整个文件系统的目录树结构及目录树上的状态变化;


2)BlockManager:维护整个文件系统中与数据块相关的信息及数据块的状态变化;


3)NetworkTopology:维护机架拓扑及DataNode信息,机架感知的基础;


4)其它:


LeaseManager:读写的互斥同步就是靠Lease实现,支持HDFS的Write-Once-Read-Many的核心数据结构;


CacheManager:Hadoop 2.3.0引入的集中式缓存新特性,支持集中式缓存的管理,实现memory-locality提升读性能;


SnapshotManager:Hadoop 2.1.0引入的Snapshot新特性,用于数据备份、回滚,以防止因用户误操作导致集群出现数据问题;


DelegationTokenSecretManager:管理HDFS的安全访问;


另外还有临时数据信息、统计信息metrics等等。


NameNode常驻内存主要被Namespace和BlockManager使用,二者使用占比分别接近50%。其它部分内存开销较小且相对固定,与Namespace和BlockManager相比基本可以忽略。

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。