每个分布式文件系统分块在NameNode的内存中大小约为250个字节,
此外还要加上文件和目录所需的250字节空间。
500字节 一个块

假设我们有5000个平均大小为20GB的文件并且使用默认的分布式文件系统分块大小(64MB)同时副本因子为3,
5000*20GB=102400 000M=97T

那么NameNode需要保存5千万个分块的信息,这些分块的大小加上文件系统的开销总共需要1.5GB的内存。

但是一切并非读者想象的那样,

在大部分情况下Hadoop集群会有更多的文件并且每个文件至少由一个分块组成,

因此NameNode上的内存使用率会更高。

所以根据集群的要求,我们应该预留空间为NameNode配置更多的内存。

为NameNode服务器配备64~94GB的内存是一个不错的选择。

物理CPU

V-CPU

内存/GB

存储/T

部署方式

用途

32

0

128

72

物理机

数据存储DataNode-1

32

0

128

72

物理机

数据存储DataNode-2

32

0

128

72

物理机

数据存储DataNode-3

32

0

128

72

物理机

数据存储DataNode-4

32

0

128

48

物理机

数据存储NameNode-1+数据接收+BI服务

32

0

128

48

物理机

数据存储NameNode-2+数据接收+BI服务

0

8

10

0.5

虚拟机

容器编排系统K8S-MASTER1

0

8

10

0.5

虚拟机

容器编排系统K8S-MASTER2

0

8

10

0.5

虚拟机

容器编排系统K8S-MASTER3

0

4

8

0.5

虚拟机

容器编排系统K8S-NODE1

0

4

8

0.5

虚拟机

容器编排系统K8S-NODE2

0

4

8

0.5

虚拟机

容器编排系统K8S-NODE3

0

8

16

0.5

虚拟机

数据采集集成系统-1

0

8

16

0.5

虚拟机

数据采集集成系统-2

0

8

8

1

虚拟机

PGSQL数据库服务器-1

0

8

8

1

虚拟机

PGSQL数据库服务器-2