hadoop学习之简介

  hadoop是2008年推出的利用HDFS和MapReduce框架解决处理大数据规模(GB,TB)难的开源项目,由开源项目大神Doug Cutting推出,这位大神曾经推出过Apache Lucene和Nutch等非常著名的开源项目,据说他儿子有一个黄色大象的玩具叫hadoop,所以Doug Cutting给取了这么一个名字。

  可以从官网上下载到最新的hadoop开源包http://hadoop.apache.org/common/releases.html#Download

  正式的来讲,hadoop提供了编写和运行处理大量数据程序的开源框架,使用了java来实现。它是一个有效的工具允许用户利用强大的分布式计算,通过使用分布式存储和避开大量数据传送代码传输,对于大数据集来说hadoop能够有效的避免机器之间高额代价的数据,节省带宽。另外hadoop内置解决了数据划分,机器节点之间的通信,任务执行协调,单点故障,性能监视等一系列问题,使得开发者只要关注程序自身功能即可。与其它分布式计算不同,hadoop主要的特征如下:

  1. 可行性(Accessible):hadoop能够运行在由大量普通计算机组成的集群或者像亚马逊提供的计算服务的运平台上。
  2. 健壮性(Robust):hadoop致力运行在大量的普通计算机上,所以必须处理经常性的硬件故障这一问题。
  3. 伸缩性(Scalable):处理更大的数据可以简单的添加机器节点到集群上。
  4. 简单性(Simple):hadoop框架能够使得开发者能够快速高效的写出并行代码。

下图显示了与hadoop集群交互的示意图:

从图中我们可以看出,hadoop集群是有一系列的普通计算机构成,通常处于一个地方,他们之间相互连接,不同的用户通过自己的客户端电脑提交任务(job)。

  

posted @ 2012-08-19 09:28  52NLP  阅读(275)  评论(0)    收藏  举报