Hadoop-NameNode内存预估

DataNode管理信息预估

在64位JVM中
(1)DataNodeId 预计 64B
(2)DataNodeInfo 预计 114B
(3)DatanodeDescriptor 预计 100B
(4)DatanodeStorageInfo 预计 109B
假设集群中包括2000个DataNode节点
计算NameNode所需总量:

( 64 + 114 + 100 + 109 * 16 ) * 2000 = 约 4M

BlockInfo文件块预估

BlocksMap的核心功能是通过BlockID快速定位到具体的BlockInfo
BlockInfo继承自Block,除了Block对象中BlockID,numbytes和timestamp信息外
最重要的是该Block物理存储所在的对应DataNode列表信息triplets。
主要参数:
(1)假设集群中包括2000个DataNode节点
(2)每个节点10T的可用磁盘,文件块大小为256M
(3)整个集群共 81,920,000 个数据块
(4)如果三副本,并80%磁盘报警,最大可以存储约5000T数据
文件块计算
(1)文件: 224 + 2 * 文件名长度 = 250B
(2)路径: 264 + 2 * 文件名长度 = 290B
(3)Block : 152 + 72 * 副本数3 = 368B
(4)假设: 81,920,000 个文件块,对应 81,920,000 个文件,每个文件一个路径
计算NameNode所需总量:

( 250 + 290 + 368 )b * 81920000 = 约 70G
上一篇:Java基础-锁Lock


下一篇:Hadoop-HDFS文件块大小的设置