要对Hadoop大数据平台进行硬件选型,首先需要了解Hadoop的运行架构以及每个角色的功能。在一个典型的Hadoop架构中,通常有5个角色,分别是NameNode、Standby NameNode、ResourceManager、NodeManager、DataNode以及外围机。
其中 NameNode 负责协调集群上的数据存储,Standby NameNode 属于 NameNode 的热备份,ResourceManager 负责协调计算分析,这三者属于管理角色,一般部署在独立的服务器上。
而 NodeManager 和 DataNode 角色主要用于计算和存储,为了获得更好的性能,通常将 NodeManager 和 DataNode 部署在一起。
由于角色的不同,以及部署位置的差别,对硬件的需求也不相同,推荐对 NameNode、ResourceManager 及其 Standby NameNode 节点选择统一的硬件配置,基础配置推荐如下表所示:
对于 CPU,可根据资金预算,选择 8 核、10 核或者 12 核。
对于内存,常用的计算公式是集群中 100 万个块(HDFS blocks)对应 NameNode 需要 1GB 内存,如果你的集群规模在 100 台以内,NameNode 服务器的内存配置一般选择 128GB 即可。
由于 NameNode 以及 Standby NameNode 两个节点需要存储 HDFS 的元数据,所以需要配置数据盘,数据盘建议至少配置 4 块,每两块做 raid1,做两组 raid1;然后将元数据分别镜像存储到这两个 raid1 磁盘组中。而对于 ResourceManager,由于不需要存储重要数据,因而,数据盘可不配置。
网络方面,为了不让网络传输成为瓶颈,建议配备光纤接口网卡,节点之间带宽要保证在 10GB 左右。
最后,主机电源推荐都是用双电源,虽然有一些费电,但可保证这些重要节点的稳定性,不至于出现电源故障直接宕机的情况。
下面再说下企业通用和主流的 NodeManager、DataNode 节点服务器硬件配置,如下表所示:
由于 NodeManager、DataNode 主要用于计算和存储,所以对 CPU 性能要求会比较高,推荐 2 路 14 核。
内存方面,如果分布式计算中涉及 Spark、HBase