1、不可选择刀片服务器,因为他们与其他服务器共享资源,当刀片服务器机箱出现故障时,将导致几个DataNode不可用。而且刀片服务器的磁盘和RAM容量太低,无法支持大量的处理。
2、选择x86架构的机架式服务器。通常一个机架可安置18-20台机架式服务器。所以对我们小集群而言一台机架即可。机架中配备一对10GbE交换机,对于大集群只需扩展机架即可。
对于中、大集群的网络配置在《OReilly.Architecting.Modern.Data.Platforms》书中的network篇章有详细介绍。另外对于多机架的集群,应当让主节点分布在不同的机架服务器上,比如namenode(active)在机架A上部署,namenode(standby)在机架B上部署。
主节点指的是部署Namenode(主/备)、Resourcemanager(主/备)节点。这些节点非常重要,所以需要较高的硬件。
主节点要求:
-
尽量买最好的机器,非普通商用硬件。
-
使用SAS驱动器,而不是便宜的SATA驱动器。SAS驱动器高度可靠,比SATA驱动器快的多,尽管容量通常较小。
-
使用硬件RAID或网络存储,做RAID-1即可。
-
使用双电源和绑定双以太网卡以支持故障转移
-
具体配置建议:
处理器:6-8核的单核处理器
内存:24-128GB,根据集群规模而定,namenode需要存储hdfs元数据。
存储:1-2TB配备RAID-1的SAS盘。
worker节点要求:
-
处理器:选择双路cpu,每个CPU4-8个内核,也可以用多内核的单个CPU。
-
内存:越多越好,建议128GB+
-
存储:因为要存储HDFS数据,同时磁盘IO往往是大数据的瓶颈,所以配置多块磁盘是非常重要的,建议6-12个2TB或3TB的磁盘,数据盘不需要做RAID。另外每个worker节点需要一对2TB或3TB的磁盘,用于作为系统盘,同时存储hadoop守护进程的程序日志,这个盘要做RAID-1。
-
中等配置:
处理器:2*6核2.9GHz
内存:64G
存储:
数据盘 12*3TB SATA Ⅱ磁盘(非RAID)
系统盘 2*2TB SAS盘(RAID-1)
-
高配置:
处理器:2*8核2.9GHz
内存:128G+
存储:
数据盘 24*1TB Nearline/MDL SAS磁盘(非RAID)
系统盘 2*2TB SAS盘(RAID-1)
可以参考阿里云上的大数据机器配置。