Apache-Hadoop简介

2022-12-27 0 543

一、Hadoop再次出现的其原因

现在的他们,生活在统计数据大爆炸的年代。国际统计数据公司早已预测在2020年,亚洲地区的统计数据总额将达到44ZB,经过单位换算成后,至少在440亿TB以上,也是说,亚洲地区另加一块1TB的硬碟都储存不出。

一些统计数据集的大小更相比之下超过了1TB,也是说,统计数据的储存是两个要化解的难题。与此同时,硬碟控制技术也面临两个控制技术困局,是硬碟的传输速率(读统计数据的速度)的提高相比之下低于硬碟耗电量的提高。他们看下面那个表单:

Apache-Hadoop简介
硬碟困局比较

能看到,耗电量提高了整整1000倍,而传输速率才提高了20倍,念完两个硬碟的所须要的天数相对而言,较长更久了(早已违背了统计数据价值的与此相反)。读统计数据都花了这么长天数,更别说写统计数据了。

对于怎样提高加载统计数据的工作效率,他们早已想到化解的方法了,那是将两个统计数据集储存到数个硬碟里,然后博戈达加载。比如1T的统计数据,他们平均100份储存到100个1TB硬碟上,与此同时加载,所以加载完备个统计数据集的天数Niederbronn一分钟。至于硬碟剩下的99%的耗电量,他们能用来储存其它的统计数据集,这样就不会造成节约。化解加载工作效率难题的与此同时,他们也化解了大统计数据的储存难题。

但是,他们与此同时对数个硬碟展开读/写操作方式时,又有了捷伊问题须要化解:

1、硬体机械故障难题。除非采用数个硬体,相对而言,部分硬体造成机械故障的机率就高,为了避免统计数据遗失,最常用的作法是拷贝(replication):磁盘留存统计数据的数个Deoria,除非发生机械故障,就能采用另外的Deoria。

2、加载统计数据的精确性难题。大统计数据黄金时代的两个预测任务,就须要紧密结合大部分统计数据来合写预测,因而从两个硬碟上加载的统计数据要与从其它99个硬碟上加载的统计数据紧密结合起来采用。所以,在加载过程中,怎样保证统计数据的精确性,是两个很大的考验。

有人会想,既然采用了数个硬碟,为什么不用备有数个硬碟的亲密关系型统计资料库来展开统计数据的储存和预测呢?其实,那个主要依赖于硬碟发展的两个控制技术限制,那是须要串行操作方式。他们从亲密关系型统计资料库中加载统计数据包涵着大量的串行操作方式,所以串行所造成的天数开支必然会小小的增加,再加上加载统计数据的天数,就更加艰难了。还有两个其原因,亲密关系型统计资料库不适宜储存半形式化和非形式化的统计数据,而那个黄金时代,半结构化和非形式化的统计数据占90%,而形式化统计数据只占10%。

针对于上述几个难题,Hadoop为他们提供了两个可信的且可扩充的储存和预测平台,此外,由于Hadoop运行在民用硬体上且是开放源码的,因而Hadoop的采用成本是比较低了,在用户的承受范围内。

二、Hadoop的概要

Hadoop是Apache基金会旗下的两个开放源码的分布式计算平台,是基于Java语言开发的,有很好的跨平台特性,并且能部署在廉价的计算机集群中。用户无需了解分布式底层细节,就能开发分布式程序,充分利用集群的威力展开高速运算和储存。

最初,Hadoop的核心控制技术是HDFS和MapReduce。

HDFS是Hadoop分布式磁盘(Hadoop Distributed File System)的简称,它具有较高的读写速度,很好的容错性和可伸缩性,为海量的统计数据提供了分布式储存,其冗余统计数据储存的方式很好的保证了统计数据的安全性。

MapReduce是一种用于博戈达处理大统计数据集的软件框架(编程模型)。用户可在无需了解底层细节的情况下,编写MapReduce程序展开预测和处理分布式磁盘上的统计数据,MapReduce保证了预测和处理统计数据的高效性。

因其在分布式环境下提供了高效的,海量的统计数据的优秀处理能力,Hadoop被公认为大统计数据行业中的标准开放源码软件。几乎所有主流的厂商如谷歌,雅虎,微软,淘宝等等这样的大公司都是围绕Hadoop展开提供开发工具,开放源码软件,商业化工具或控制技术服务的。

在Hadoop2.0以后,又引入了另两个核心控制技术:YARN(Yet Another Resource Negotiator)。它是两个任务调度和集群资源管理系统,主要有两类长期运行的守护线程来提供自己的核心服务:一类是用于管理集群上资源采用的资源管理器(Resouce Manager),另一类是运行在集群中各个节点上且能够启动和监控容器(container)的节点管理器(Node Manager)。

发展到现在的Hadoop3.x能概括成以下五个模块:

Hadoop Common:由原来的Hadoop core更名而来。以前的版本中core包涵HDFS、MapReduce及其其它公共部分。后来HDFS和MapReuce被分离出来作为独立的子项目,剩下的公共部分更名为Common。主要包括系统配置工具Configuration、远程过程调用RPC、序列化机制和Hadoop抽象磁盘FileSystem等。它们为在通用硬体上搭建云计算环境提供基本的服务,并为运行在该平台上的软件开发提供了所需的API。Hadoop HDFS:Hadoop的核心控制技术之一,分布式磁盘Hadoop YARN:Hadoop2.0以后新增的两个核心控制技术,资源管理系统Hadoop MapReduce:Hadoop的核心控制技术之一,编程模型,用于大规模统计数据集的博戈达计算。Hadoop Ozone:HDFS的两个扩充方向,对象储存控制技术。

关于Hadoop那个名字的由来,该项目的创建者Doug Cutting是这样解释的:“那个名字是我孩子给两个棕黄色的大象玩具命名的。我的命名标准就是简短,容易发音和拼写,没有太多的意义,并且不会被用于别处。小孩子恰恰是这方面的高手。”

Hadoop的发音是 [hædu:p]。

三、Apache Hadoop发展史

Hadoop由知名项目Apache Lucene的创始人道格·卡丁(doug Cutting)创建。

它起源于Apache Nutch 项目(两个网页爬取工具和搜索引擎系统,后来遇到大统计数据量的网页储存难题)。2003年,谷歌发表的一篇论文(描述的是“谷歌分布式磁盘”,简称GFS)给了Apache Nutch项目的开发者灵感。2004年,Nutch的开发者开始着手 NDFS(Nutch的分布式磁盘)。2004年 ,谷歌又发表了一篇介绍MapReduce系统的论文。2005年,Nutch项目实现了两个MapReduce系统2006年,开发人员将NDFS和MapReduce移出Nutch项目形成两个子项目,命名Hadoop2008年,Hadoop已称为Apache的顶级项目。2008年4月,Hadoop打破世界记录,成为最快排序1TB统计数据的系统,排序天数为209秒2009年,Hadoop把1TB统计数据的排序天数缩短到62秒。从此名声大噪,现在很多公司都在采用,如雅虎,last.fm,FaceBook,《纽约时报》等等目前Hadoop的版本发展,hadoop1.x > hadoop2.x > hadoop3.x

四、Hadoop的特点

Hadoop因为是基于Java语言开发的,因而最理想的运行平台是Linux系统了。它也支持多种编程语言,如C++,PHP等等。

也能总结出以下优点:

高可信型。Hadoop按位储存和处理统计数据的能力值得人们信赖。高效性。Hadoop能够在节点之间动态地移动统计数据,并保证各个节点的动态平衡,因而处理速度非常快,能处理PB级统计数据。高可扩充性。Hadoop的设计目标是能高效的稳定的运行在廉价的计算机集群上,能扩充到数以千计的计算机节点。高容错性。采用冗余统计数据储存方式,自动留存统计数据的数个Deoria,并且能够自动将失败的任务展开重新分配成本低。Hadoop采用廉价的计算机集群,成本比较低,普通用户也能采用自己的电脑来搭建Hadoop环境

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务