1、合并MapReduce集群与HDFS集群

在调度运行一个作业时,将map任务等直接运行于要处理的数据所存储的HDFS的数据节点上,可避免大量的数据传输,实现数据处理的本地性,进而大大提高整个过程的完成效率,这也正是Hadoop集群的部署方式。如下图所示。

Hadoop系列之八:Hadoop集群_第1张图片

在一个小于50个节点的小规模集群中,可以将NameNode与JobTracker合并于同一个节点上运行。而整个集群共有5类运行的核心进程,它们是MapReduce集群的JobTrackerTaskTracker,以及HDFS集群的NameNodeDataNodeSecondaryNameNode

2、Hadoop项目

Hadoop是ASF(Apache Software Foundation)的著名开源项目之一,由Doug Cutting创建,早期的主要目的是为他的Nutch搜索引擎提供分布式功能,后来才成为一个独立的项目。Hadoop的核心组件为MapReduce和HDFS,HDFS提供大数据的存储能力,而MapReduce则为程序员开发处理大数据的程序提供了一个开发和运行环境。鉴于前文讲述的HDFS及MapReduce的特性可以得知,Hadoop是一个批处理系统,它不保证对请求提供实时响应;因此,Hadoop不是一个关系型数据库系统,不提供在线事务处理功能,也不是一个结构化数据存储系统。


Hadoop提供的强大的大数据存储及分析能力受到了很多著名公司的青睐,如Yahoo!、Facebook、LinkedIn、Twitter、Rackspace、Baidu、eBay、taobao等,它们根据需要分别部署了规模不同的Hadoop集群来实现诸如推荐系统金融分析自然语言处理数据挖掘影像处理市场预测日志分析等功能。

 

Hadoop系列之八:Hadoop集群_第2张图片

3、Hadoop的版本

Hadoop系列之八:Hadoop集群_第3张图片

                           Hadoop的各分支及发行版(图片来源:Hadoop operations)

Hadoop各版本对比说明:

0.20.0-0.20.2:非常稳定的版本,有多个组织在生产环境中部署;
0.20-append:支持对HDFS中的文件进行“附加”操作的版本;HDFS文件系统中的文件一旦建立就无法修改,但此版本支持对文件进行内容追加的操作,HBase依赖于此功能;
0.20-security:支持Kerberos实现用户认证的版本,由Yahoo!提供;
0.20.203-0.20.205:在0.20-security的基础上,修复了大量bug,并增进了性能的版本;现已经发展为1.0版;
0.21.0:基于主分支的版本,支持append,但不支持kerberos认证;开发版本,不建议生产环境使用;
0.22.0:基于主分支的版本,对HDFS文件系统支持kerberos认证;不过,有些诡异的是,其创建时间晚于0.23版本;
0.23.0:基于主分支的版本,支持append、security、YARN和HDFS联合(HDFS federation);现已经发展为2.0版;
1.0.0:基于0.20.205衍生的版本,因此不支持0.21、0.22和0.23的新增功能;属于目前的主流的稳定版本;
2.0.0:基于0.23.0衍生的版本,仅支持2.0版本的MapReduce(YARN),但兼容MRv1的API;目前,还需要对其进行更多的测试才能部署于生产环境;

Hadoop系列之八:Hadoop集群_第4张图片

                    Hadoop的各版本支持的特性对比(图片来源:Hadoop operations) 

4、Hadoop商业发行版

Hadoop的发行版除了ASF的Hadoop外,还有cloudera、hortonworks、MapR、intel、EMC等提供的商业支持版本,分别以自己的附加产品及应用经验为Hadoop应用提供专业的技术支持。

2008年成立的Cloudera是最早将Hadoop商用的公司,为合作伙伴提供Hadoop的商用解决方案,主要是包括技术支持、咨询服务和培训等。2009年hadoop的创始人Doug Cutting也任职于Cloudera公司。Cloudera产品主要为CDH,Cloudera Manager,Cloudera Support。CDH是Cloudera的hadoop发行版,完全开源,比Apache hadoop在兼容性,安全性,稳定性上有增强。Cloudera Manager是集群的软件分发及管理监控平台,可以在几个小时内部署好一个hadoop集群,并对集群的节点及服务进行实时监控。Cloudera Support即是对hadoop的技术支持。

2011年成立的Hortonworks是雅虎与硅谷风投公司Benchmark Capital合资组建的公司。公司成立之初吸纳了大约25名至30名专门研究Hadoop的雅虎工程师,上述工程师均在2005年开始协助雅虎开发Hadoop,这些工程师贡献了hadoop 80%的代码。雅虎工程副总裁、雅虎Hadoop开发团队负责人Eric Baldeschwieler出任Hortonworks的首席执行官。Hortonworks 的主打产品是Hortonworks Data Platform (HDP),也同样是100%开源的产品,HDP还包含了一款开源的安装和管理系统Ambari以及一个元数据管理系统HCatalog。

cloudera和hortonworks都在通过自己的努力不断地提交代码修复及完善着Apache Hadoop。如果对其它商业版本有兴趣,请分别参照其官方的说明。本书后面选用的Hadoop会以CDH或HDP为主。

5、Hadoop生态圈

Hadoop系列之八:Hadoop集群_第5张图片


 


参考文献:
Hadoop Operations
http://www.xiaohui.org/archives/795.html