Hadoop是Apache软件基金会下的一个开源分布式计算平台。Hadoop以分布式文件系统HDFS和MapReduce(Google MapReduce的开源实现)为核心,为用户提供了系统底层细节透明的分布式基础架构。HDFS的高容错性、高伸缩性等优点允许用户将Hadoop部署在低廉的硬件上,形成分布式系统;MapReduce分布式编程模型允许用户在不了解分布式系统底层细节的情况下开发并行应用程序。所以,用户可以利用Hadoop轻松地组织计算机资源,从而搭建自己的分布式计算平台,并且可以充分利用集群的计算和存储能力完成海量数据的处理。
Apache Hadoop目前版本(2.X版)包含以下模块:
·Hadoop通用模块,支持其他Hadoop模块的通用工具集;
·Hadoop分布式文件系统(HDFS),支持对应用数据高吞吐量访问的分布式文件系统;
·Hadoop YARN,用于作业调度和集群资源管理的框架;
·Hadoop MapReduce,基于YARN的大数据并行处理系统。
Hadoop目前除了社区版,还有众多厂商的发行版本,如华为发行版、Intel发行版、Cloudera发行版(CDH)、Hortonworks发行版(HDP)、MapR等,所有这些发行版均是基于Apache Hadoop衍生出来的。现将各个主流的发行版本介绍如下:(www.xing528.com)
·Cloudera:最成型的发行版本,拥有最多的部署案例;能提供强大的部署、管理和监控工具。Cloudera开发并贡献了可实时处理大数据的Impala项目。
·Hortonworks:不拥有任何私有(非开源)修改地使用了100%开源Apache Hadoop的唯一提供商。Hortonworks是第一家使用了Apache HCatalog的元数据服务特性的提供商,并且它的Stinger开创性地极大地优化了Hive项目。Hortonworks提供了一个非常好的、易于使用的沙盒。Hortonworks开发了很多增强特性并提交至核心主干,这使得Apache Hadoop能够在包括Windows Server和Windows Azure在内的MicrosftWindows平台上本地运行。
·MapR:与竞争者相比,它使用了一些不同的概念,特别是为了获取更好的性能和易用性而支持本地UNIX文件系统而不是HDFS(使用非开源的组件),可以使用本地UNIX命令来代替Hadoop命令。除此之外,MapR还凭借诸如快照、镜像或有状态的故障恢复之类的高可用性特性来与其他竞争者相区别。该公司也领导着Apache Drill项目,本项目是Google的Dremel的开源项目的重新实现,目的是在Hadoop数据上执行类似SQL的查询以提供实时处理。
·Amazon Elastic Map Reduce(EMR):这是一个托管的解决方案,其运行在由Amazon Elastic Compute Cloud(Amazon EC2)和Amazon Simple Strorage Service(Amazon S3)组成的网络规模的基础设施之上。除了Amazon的发行版本之外,也可以在EMR上使用MapR。临时集群是主要的使用情形。如果用户需要一次性地或不常见地大数据处理,EMR可能会为用户节省大笔开支。然而,这也存在不利之处。其只包含了Hadoop生态系统中Pig和Hive项目,在默认情况下不包含其他很多项目。EMR是高度优化成与S3中的数据一起工作的,这种方式会有较高的延时并且不会定位于用户计算节点上的数据。所以,处于EMR上的文件IO相比于用户自己的Hadoop集群或用户的私有EC2集群来说会慢很多,并有更大的延时。
如今,Hadoop已被公认为目前最流行的大数据处理平台,Forrester Research的分析师Mike Gualtieri最近预测,在未来几年,“100%的大公司”会采用Hadoop。Markets and Markets的一份报告也预测,2021年Hadoop市场产值会达到406.9亿美元。未来,Hadoop必将会随着大数据的深入人心而获得更大的发展空间。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。