HDFS容量规划 本章节介绍HDFS容量规划。 HDFS容量规划是确保集群能够满足业务需求的关键环节,涉及NameNode内存、DataNode内存和存储空间三个维度。 NameNode内存 HDFS 将一个大文件切分成多个固定大小的数据块(Block),默认大小为 256MB(可配置)。每个 Block 独立存储,并复制多个副本(默认 3 份)分布在不同 DataNode 上,保证数据可靠性。NameNode 维护文件到 Block 的映射关系,以及 Block 到 DataNode 的对应列表。NameNode的内存主要用于存储文件系统的元数据,包括文件/目录的inode信息和文件块映射。合理规划NameNode内存是保证HDFS性能和稳定性的关键。 HDFS文件对象数计算 每个文件/目录/Block都被视为一个HDFS对象。 单个文件大小 文件对象数 小于256MB 1(对应文件) + 1(对应Block) 2 大于256MB(例如256GB) 1(对应文件) + 1024(对应Block) 1025 查看HDFS文件对象数 1、登录翼MR Manager。 2、选择“集群服务 > HDFS > 集群大屏”。 3、“文件总数” + “块总数” 就是当前HDFS的文件对象数。 NameNode内存配置 1、登录翼MR Manager。 2、选择“集群服务 > HDFS > 配置管理 > hadoopenv.sh”。 3、搜索并修改”NAMENODEHEAPSIZE”参数。 NameNode堆内存配置参照表: HDFS文件对象数 参考值 10,000,000 Xmx6g Xms6g Xmn1g 50,000,000 Xmx25g Xms25g Xmn3g 100,000,000 Xmx50g Xms50g Xmn5g 200,000,000 Xmx100g Xms100g Xmn10g 4、单击“保存更改”。 5、单击”同步”,等待同步完成。 6、重启NameNode实例。 注意 HDFS文件对象数建议不超过10亿 NameNode堆配置需要考虑机器可用内存