分布式计算框架Hadoop

Hadoop是一个开源的分布式计算框架,基于Google的MapReduce和GFS论文实现。它提供了高容错性的数据存储和大规模数据处理能力,支持多种应用,如搜索引擎、大数据存储、数据分析等。Hadoop包括HDFS(分布式文件系统)和MapReduce(并行计算框架),以及众多子项目,如HBase、Hive、Zookeeper等,广泛应用于数据密集型的场景。HDFS通过冗余副本策略保证数据可靠性,MapReduce则实现了数据的分布式处理。Hadoop通过数据本地化、容错机制和高效的数据传输,确保了大数据处理的高效和稳定性。
摘要由CSDN通过智能技术生成

1 Hadoop是什么?

Hadoop是一种开源的适合大数据的分布式存储和处理的平台。

Hadoop 是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

Apache Hadoop是一款支持数据密集型分布式应用并以Apache 2.0许可协议发布的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序。Hadoop是根据Google公司发表的MapReduce和Google档案系统的论文自行实作而成。

Hadoop框架透明地为应用提供可靠性和数据移动。它实现了名为MapReduce的编程范式:应用程序被分割成许多小部分,而每个部分都能在集群中的任意节点上执行或重新执行。此外,Hadoop还提供了分布式文件系统,用以存储所有计算节点的数据,这为整个集群带来了非常高的带宽。MapReduce和分布式文件系统的设计,使得整个框架能够自动处理节点故障。它使应用程序与成千上万的独立计算的电脑和PB级的数据。 

 

2 Hadoop能够做什么?

1)搜索引擎:这也正是Doug Cutting设计Hadoop的初衷,为了针对大规模的网页快速建立索引;

2)大数据存储:利用Hadoop的分布式存储能力,例如数据备份、数据仓库等;

3)大数据处理:利用Hadoop的分布式处理能力,例如数据挖掘、数据分析等;

4)科学研究:Hadoop是一种分布式的开源框架,对于分布式系统有很大程度地参考价值。

 

3 Hadoop的三种模式及子项目

Hadoop有三种不同的模式操作,分别为单机模式、伪分布模式和全分布模式。

 

子项目:

l  Hadoop Common:在0.20及以前的版本中,包含HDFS、MapReduce和其他项目公共内容,从            0.21开始HDFS和MapReduce被分离为独立的子项目,其余内容为Hadoop Common

l  HDFS:Hadoop分布式文件系统(Distributed File System)-HDFS(Hadoop Distributed File System)

l  MapReduce:并行计算框架,0.20前使用org.apache.hadoop.mapred旧接口,0.20版本开始引入org.apache.hadoop.mapreduce的新API

l  Apache HBase:分布式NoSQL列数据库,类似谷歌公司BigTable。

l  Apache Hive:构建于hadoop之上的数据仓库,通过一种类SQL语言HiveQL为用户提供数据的归纳、查询和分析等功能。Hive最初由Facebook贡献。

l  Apache Mahout:机器学习算法软件包。

l  Apache Sqoop:结构化数据(如关系数据库)与Apache Hadoop之间的数据转换工具。

l  Apache ZooKeeper:分布式锁设施,提供类似Google Chubby的功能,由Facebook贡献。

l  Apache Avro:新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制。

l   

4 Hadoop核心之分布式文件系统HDFS

源自于Google的论文,发表于2003年10月,HDFS是GFS的克隆。

Hadoop分布式文件系统(Hadoop Distributed File System,简称HDFS)是Hadoop的核心模块之一,它主要解决Hadoop的大数据存储问题,其思想来源与Google的文件系统GFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS的主要特点:

l  保存多个副本,且提供容错机制,副本丢失或宕机自动恢复。默认存3份。

l  运行在廉价的机器上。

l  适合大数据的处理。HDFS默认会将文件分割成block,64M为1个block。然后将block按键值对存储在HDFS上,并将键值对的映射存到内存中。如果小文件太多,那内存的负担会很重。

HDFS中的两个重要角色:

[Namenode]

1)管理文件系统的命名空间。

2)记录 每个文件数据快在各个Datanode上的位置和副本信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值