Hadoop开篇

佐手、 提交于 2019-11-28 09:03:57

谁说大象不会跳舞

Hadoop是什么

官网定义:The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models.

Hadoop: 适合大数据的分布式存储和计算平台

现为Apache顶级开源项目,Hadoop不是指具体一个框架或者组件,它是Apache软件基金会下用Java语言开发的一个开源分布式计算平台。实现在大量计算机组成的集群中对海量数据进行分布式计算,适合大数据的分布式存储和计算平台。

举个简单例子:假如说你有一个篮子水果,你想知道苹果和梨的数量是多少,那么只要一个一个数就可以知道有多少了。如果你有一个集装箱水果,这时候就需要很多人同时帮你数了,这相当于多进程或多线程。如果你很多个集装箱的水果,这时就需要分布式计算了,也就是Hadoop。Hadoopd之所谓会诞生,主要是由于进入到大数据时代,计算机需要处理的数据量太过庞大。这时就需要将这些庞大数据切割分配到N台计算机进行处理。当大量信息被分配到不同计算机进行处理时,要确保最终得到的结果正确就需要对这些分布处理的信息进行管理,hadoop就是这样的一套解决方案。

Hadoop的起源

Hadoop起源于Google的三大论文 ,GFS ,BigTable和MapReduce。受此启发的Doug Cutting(Hadoop之父)等人用业务时间实现了DFS和MapReduce机制。2006年2月被分离出来,成为一套完整独立的软件,起名为Hadoop。

Hadoop的成长过程经历了:Lucene–>Nutch—>Hadoop

三篇论文的核心思想逐步演变,最终:

GFS—->HDFS
Google MapReduce—->Hadoop MapReduce
BigTable—->HBase

Hadoop版本与架构核心

Apache开源社区版本,现已到3.x

Hadoop1.0版本两个核心:HDFS+MapReduce

Hadoop2.0版本,引入了Yarn。核心:HDFS+Yarn+Mapreduce

​ Yarn是资源调度框架。能够细粒度的管理和调度任务。此外,还能够支持其他的计算框架,比如spark等。

Hadoop3.0版本,未引入新核心,在原核心上,升级了很多东西。具体看参见官网

Hadoop理念

Hadoop可运行于一般的商用服务器上,具有高容错、高可靠性、高扩展性等特点

特别适合写一次,读多次的场景

适合场景

  • 大规模数据
  • 流式数据(写一次,读多次)
  • 商用硬件(一般硬件)

不适合场景

  • 低延时的数据访问
  • 大量的小文件
  • 频繁修改文件

PS

Hadoop起源的三个google论文 中文版

GFS Google的分布式文件系统Google File System
BigTable 一个大型的分布式数据库
MapReduce Google的MapReduce开源分布式并行计算框架

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!