硬件配置的选择:

CPU: Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz (32 核)
Memory: 64G, 128G
Disk: 12块盘 X 2T
网络: 千兆网络(万兆更佳)


软件配置选择:

操作系统的选择:

CentOS 6.3 (2.6.32-279.el6.x86_64)
CentOS 6.5 (2.6.32-431.el6.x86_64)
CentOS 6.6 (废弃)
CentOS 7.1.1503 (3.10.0-229.el7.x86_6)(memory leak)
CentOS 7.2.1511(3.10.0-327.28.3.el7.x86_64)


JDK的选择:

JDK1.6.0_25
JDK1.7.0_45(废弃)
JDK1.7.0_67


Hadoop版本的选择:

Hadoop-2.2.0
Hadoop-2.7.1


操作系统版本选择的坑:

1、我们在尝试CentOS6.6 中遇到的Bug
https://bugs.centos.org/view.php?id=8703

2、CentOS 7.1.1503 中遇到了内存溢出的情况
内存的计算方法如下:
http://blog.yufeng.info/archives/2456

3、CentOS 7.1.1503 中同时设置Cgroup的父节点的cpu.cfs_quota_us 和 cpu.cfs_period_us 的时候会出现机器宕机的情况


JDK选择的坑

我们在集群尝试升级JDK1.7.0_45的时候出现了NodeManger在负载高的情况下出现OOM的Bug。
详情可以参考:
http://hackershell.cn/?p=646
https://issues.apache.org/jira/browse/HADOOP-10146


Hadoop的选择

1、Hadoop版本有两个大的版本:Hadoop1 和Hadoop2
2、Hadoop2 相对Hadoop1的提升特性有:
HDFS HA HDFS的高可用性(主要解决NameNode单点问题)
HDFS Federation HDFS联邦(主要解决NameNode可扩展问题)
3、Yarn (主要解决MapReduce框架的可扩展性问题、将JobTracker资源管理和作业调度/监控分离)


Hadoop发行版本

1、Hadoop的比较流行的发行版本有Apache、Cloudera、Hortonworks。
Apache 发行版本是一切发行版本的基础。

2、Cloudera 的发行版本:
http://archive.cloudera.com/cdh/
http://www.cloudera.com/downloads/cdh/5-7-0.html

3、Hortonworks的发行版本:
http://zh.hortonworks.com/products/hdp

仅以记录,希望后来人能不再踩这些坑。下一篇Hadoop系列文章给大家介绍集群搭建和网上很多搭建集群教程不同的地方。


参考资料:

how-to-select-hadoop-versions
Hadoop 安全实践