Hadoop 介绍

题要:
一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。

 Hadoop的Logo项目主页:http://hadoop.apache.org

开源实现

Hadoop是项目的总称,起源于作者儿子的一只吃饱了的大象的名字。主要是由HDFS、MapReduce和Hbase组成。   HDFS是Google File System(GFS)的开源实现。   MapReduce是Google MapReduce的开源实现。   HBase是Google BigTable的开源实现。   这个分布式框架很有创造性,而且有极大的扩展性,使得Google在系统吞吐量上有很大的竞争力。因此Apache基金会用Java实现了一个开源版本,支持Fedora、Ubuntu等Linux平台。目前Hadoop受到Yahoo的支持,有Yahoo员工长期工作在项目上,而且Yahoo内部也准备使用Hadoop代替原来的的分布式系统。   Hadoop实现了HDFS文件系统和MapRecue。用户只要继承MapReduceBase,提供分别实现Map和Reduce的两个类,并注册Job即可自动分布式运行。   目前Release版本是0.20.1。还不成熟,但是已经集群规模已经可以达到4000个节点,是由Yahoo!实验室中构建的。下面是此集群的相关数据:   • 4000 节点   • 2 x quad core Xeons@2.5ghz per 节点   • 4 x 1TB SATA Disk per 节点   • 8G RAM per 节点   • 千兆带宽 per 节点   • 每机架有40个节点   • 每个机架有4千兆以太网上行链路   • Redhat Linux AS4 ( Nahant update 5 )   • Sun Java JDK1.6.0_05 - b13   • 所以整个集群有30000多个CPU,近16PB的磁盘空间!   HDFS把节点分成两类:NameNode和DataNode。NameNode是唯一的,程序与之通信,然后从DataNode上存取文件。这些操作是透明的,与普通的文件系统API没有区别。   MapReduce则是JobTracker节点为主,分配工作以及负责和用户程序通信。   HDFS和MapReduce实现是完全分离的,并不是没有HDFS就不能MapReduce运算。   Hadoop也跟其他云计算项目有共同点和目标:实现海量数据的计算。而进行海量计算需要一个稳定的,安全的数据容器,才有了Hadoop分布式文件系统(HDFS,Hadoop Distributed File System)。   HDFS通信部分使用org.apache.hadoop.ipc,可以很快使用RPC.Server.start()构造一个节点,具体业务功能还需自己实现。针对HDFS的业务则为数据流的读写,NameNode/DataNode的通信等。   MapReduce主要在org.apache.hadoop.mapred,实现提供的接口类,并完成节点通信(可以不是hadoop通信接口),就能进行MapReduce运算。   目前这个项目还在进行中,还没有到达1.0版本,和Google系统的差距也非常大,但是进步非常快,值得关注。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值