翻译自:http://blog.octo.com/en/hadoop-in-my-it-department-how-to-plan-a-cluster/ 和http://blog.cloudera.com/blog/2013/08/how-to-select-the-right-hardware-for-your-new-hadoop-cluster/
每100万块存储,需要1GB的NameNode,假若集群中有100个节点,则64GB的内存是足够的。同时建议,在NameNode和JobTracker上都配置HA,CDH4已实现此功能。
<1> 12-24块1-4TB的磁盘,简单磁盘捆绑
<2> 2个四核/将十六进制/八核处理器,2-2.5G Hz以上
<3> 65-248 GB RAM
<4> 千兆以太网或万兆以太网
<1> 4-6块 1TB的磁盘(1块作为操作系统,2块作为RAID 1 FS image(文件系统镜像?),1块为zookeeper,1块为Journal node))
<2> 2个四核/将十六进制/八核处理器。2-2.5G Hz以上
<3> 64-128G RAM
<4> 千兆或万兆以太网
轻量级计算配置(每台机器 1U):
两颗六核心处理器,24-64GB内存和8个1-2TB的磁盘
均衡计算配置(每台机器1U)
两颗六核心处理器,48-128GB内存和12-16个1-2TB的磁盘(用主板控制器直接挂载)
重度存储配置(每台机器2U):
如何决定
1 存储需求
>共享需求
>NameNode和SecondNameNode
>DataNode需求
(1) 共享需求
操作系统分区,操作系统日志分区。这些都是固定的,正常分配
(2) NameNode和Second NameNode
它们必须使用相同的配置,相同的硬件。 1TB的写文件分区足够。
(3) DataNode
SAS 6GB/S 配置在简单磁盘捆绑的控制器
SATA II 7200 RPM 的1-3TB的磁盘
不要在DataNode上配置RAID,HDFS自己有提供。
注意:每块磁盘30%的容量都留作非HDFS使用
如何决定NameNode 和Second NameNode内存,公式如下:
Second NameNode内存
= NameNode内存
=HDFS集群管理内存+2GBNameNode 处理+4GB(操作系统)
如何决定DataNode内存
DataNode的内存需求取决于其运行的job,对于I/O频繁的job,每个物理核 2GB-4GB,对于CPU消耗型job,每个物理核6-8GB。无论哪种情况,必须再额外加上以下:
>2GBDataNode 处理,用来管理HDFS块。
>2GBTaskTracker处理,用来管理运行在其上的task
>4GB 操作系统