在我们选择硬件的时候,往往需要考虑应用得到的性能和经费开支。为此,我们必须在满足实际需要和经济可行上找到一个完美的平衡。下面,以Hadoop集群应用为了例子,说明需要考虑的要素。
1. I/O绑定的工作负荷。
Hadoop涉及到的I/O操作,主要包括下列几项:
- 索引(Indexing)
- 群化(Grouping)
- 数据导入和导出(Data importing and exporting)
- 数据移动和转换(Data movement and transformation)
2. CPU绑定的工作负荷
Hadoop中,作业的执行,需要CPU的持续运作。
下面列举了几个方面:
- 集群处理(Clustering/Classification)
- 复杂的文本挖掘Complex text mining
- 自然语言的处理(Natural-language processing)
- 特殊功能的提取(Feature extraction)
说了这里,还是直接说明Hadoop标准配置吧。企业级应用,私有云处理都可能涉及到这样的配置需要。下面列举DataNode/TaskTrackers(MR1)的标准配置规格说明:
- 12-24 1-4TB硬盘(批量的磁盘)
- 2 quad-/hex-/octo-core CPUs, 运行频率至少2-2.5GHz
- 64-512GB of RAM(内存)
绑定Gigabit Ethernet(千兆网络,更多的存储密度,需要更高的网络输入的需要)
Hadoop集群中,NameNode/JobTracker(MR1)的标准配置规格说明:
- 3-6 1TB硬盘(批量的磁盘)
- 2 quad-/hex-/octo-core CPUs, 运行频率至少2-2.5GHz
- 64-512GB of RAM(内存)
绑定Gigabit Ethernet(千兆网络,更多的存储密度,需要更高的网络输入的需要)
其实,根据业务来划分硬件的配置,在参数上稍微有点区别。从上面的配置可以看出,数据存储需要的硬盘容量比较大。可见,考虑真实的业务需求是有必要的。可能规模小一点的,配置稍微弱一点也是可以的。
以上参数,仅供参考而已。