国内外使用Hadoop的公司比较多,全球最大的Hadoop集群在雅虎,有大约25,000个节点,主要用于支持广告系统与网页搜索。国内用Hadoop的主要有百度、淘宝、网易、华为、中国移动等,其中淘宝的Hadoop集群属于较大的(如果不是最大)。
淘宝Hadoop集群现在超过1700个节点,服务于用于整个阿里巴巴集团各部门,数据来源于各部门产品的线上数据库(Oracle, MySQL)备份,系统日志以及爬虫数据,截止2011年9月,数量总量已经超过17个PB,每天净增长20T左右。每天在Hadoop集群运行的MapReduce任务有超过4万(有时会超过6万),其中大部分任务是每天定期执行的统计任务,例如数据魔方、量子统计、推荐系统、排行榜等等。这些任务一般在凌晨1点左右开始执行,3-4个小时内全部完成。每天读数据在2PB左右,写数据在1PB左右。
Hadoop包括两类节点Master和Slave节点,
- Master节点包括Jobtracker,Namenode, SecondName, Standby,
- 硬件配置:16CPU*4核,96G内存。
- Slave节点主要是TaskTracker和DataNode,
- 硬件配置存在一定的差别:8CPU*4核-16CPU*4核,16G-24G内存
- (注:通常是一个slave节点同时是TaskTracker和DataNode,目的是提高数据本地性data locality)。
- 每个slave节点会划分成12~24个slots。整个集群约34,916个slots,其中Map slots是19,643个,Reduce slots是15,273个
所有作业会进行分成多个Group,按照部门或小组划分,总共有38个Group。整个集群的资源也是按各个Group进行划分,定义每个Group的最大并发任务数,Map slots与Reduce slots的使用上限。每个作业只能使用自己组的slots资源。