影响namenode内存主要因素:
NameNode常驻内存主要被Namespace和BlockManager使用,二者使用占比分别接近50%。其它部分内存开销较小且相对固定,与Namespace和BlockManager相比基本可以忽略。
Namespace:维护整个文件系统的目录树结构及目录树上的状态变化;
BlockManager:维护整个文件系统中与数据块相关的信息及数据块的状态变化;
数据增长namenode面临的问题:
随着集群中数据规模的不断积累,NameNode内存占用随之成比例增长。不可避免的NameNode内存将逐渐成为集群发展的瓶颈,并开始暴漏诸多问题。
1、启动时间变长。
2、性能开始下降。
3、NameNode JVM FGC(Full GC)风险较高。