Hadoop作为在大数据应用里的基础平台,2017年12月13日迎来了它的3.0 GA版本的发布。

我们为什么需要Hadoop

我上大学的第一台电脑的配置是:40G的硬盘,800MHZ单核的CPU,256M的内存,网速是120K。

我现在正在用来写这篇文章的电脑配置是:1T的硬盘,2.7G4核CPU,32G的内存,网速是100M。

当时的硬盘读写速度是40M每秒,现在的硬盘读写速度是100M每秒,硬盘大小是原来的25倍,但是读取速度只是原来的2.5倍。这也就是说我们读完整个硬盘的数据,比原来慢了10倍。

再来看CPU,单核的能力比原来提高了不到3倍多,现在CPU频率已经没有更高的提升空间了,已经转而向多核发展。也就是并行计算。

内存是原来的120多倍。网速也有了大幅的增长,速度是原来的将近1000倍。

从而我们可以得到一个结论,我们的社会在经历了信息化改造后,产生了大量的数据,而且这个速度还在增长,随着IPV6和物联网技术的普及这个趋势会更加明显。但是我们对数据的读写能力受到了硬盘的限制,计算速度受到了CPU单核计算能力的限制。所以人们必然想到了分布式存储和计算。

假如我们要对我们硬盘里的1T数据进行计算,单个计算机需要1天,如果我们把数据平均放到100个计算机上,每个计算机只存放原来的百分之一的数据。然后同时读取数据,分别运算,理论上是不是就可能把计算时间降低到原来的百分之一呢?从而让原来需要一天的任务在不到15分钟内完成呢?如果要求在1分钟内完成1T数据的运算,我们是不是可以通过添加更多的计算机来完成呢?

答案是肯定的,Hadoop里的主要的三大技术,HDFS,Yarn,Map-Reduce 就是分别来解决文件存储,任务调度,分布式计算的。我们在接下来的文章里会详细介绍这几个技术。

Hadoop的发展

Google每天面对是数10亿网页的索引与搜索,Google内部使用GFS(The Google File System)来存储这些网页,同时Google也使用MapReduce系统来进行分布式计算。Google分别在2003和2004年发表了论文来介绍GFS和MapReduce系统。

受Google GFS 和MapReduce的启发,Apache Lucene项目自己实现了一个开源版本的分布式文件存储,分布式计算的系统就成为了后来的Hadoop。

2008年1月Hadoop成为Apache顶级开源项目,2008年4月Hadoop打破世界纪录用了3分钟完成了对1TB数据的排序。

当我们谈Hadoop时我们谈些什么

Hadoop本身包含的是HDFS,Yarn,Map-Reduce,但是后来在Hadoop的基础上又发展出了Hadoop的生态圈,包括基于这些基本服务的一些 其他服务,包括Zookeeper,Spark,Hive,Hbase等很多项目。我们一般说Hadoop时,也包括这些项目。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

%d 博主赞过: