Hadoop框架基础

什么是Hadoop

  Hadoop 是一个适合大数据的分布式存储和计算平台。 

Hadoop有广义与狭义之分:

狭义的Hadoop:

  指的是一个框架,Hadoop是由三部分组成:

  HDFS:分布式文件系统--》存储;MapReduce:分布式离线计算框架--》计算;Yarn:资源调度框架

广义的Hadoop:

  广义的Hadoop不仅仅包含Hadoop框架,除了Hadoop框架之外的一些辅助框架。Flume:日志数据采集,Sqoop:关系型数据库数据的采集,Hive:深度依赖Hadoop框架完成计算(sql),Hbase:大数据领域的数据库(相当于web的mysql),Sqoop:数据的导出

  广义Hadoop指的是一个生态圈,,包含很多其他软件框架:

Hadoop生态圈技术栈        

  Hadoop(HDFS + MapReduce + Yarn)
  Hive 数据仓库工具
  HBase 海量列式非关系型数据库
  Flume 数据采集工具
  Sqoop ETL工具
  Kafka 高吞吐消息中间件
  ......

 


Hadoop的起源

Hadoop 的发展历程可以用如下过程概述:

    Nutch—> Google论文(GFS、MapReduce)
       —> Hadoop产生
       —> 成为Apache顶级项目 
       —> Cloudera公司成立(Hadoop快速发展)

 

Hadoop早起源于Nutch,Nutch 的创始人是Doug Cutting

  Nutch 是一个开源 Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫,但随着抓取网页数量的增加,遇到了严重的可扩展性问题——如何解决数十亿网页的存储和索引问题

2003年、2004年谷歌发表的两篇论文为该问题提供了可行的解决方案。GFS,可用于处理海量网 页的存储;MapReduce,可用于处理海量网页的索引计算问题。

  

Google的三篇论文(三驾马车)

  GFS:Google的分布式文件系统(Google File System)

  MapReduce:Google的分布式计算框架

  BigTable:大型分布式数据库

  发展演变关系:

  GFS —> HDFS

  Google MapReduce —> Hadoop MapReduce

  BigTable —> HBase

 

随后,Google公布了部分GFS和MapReduce思想的细节,Doug Cutting等人用2年的业余时间实 现了DFS和MapReduce机制,使Nutch性能飙升。

2005年,Hadoop 作为Lucene的子项目Nutch的一部分引入Apache 2006年,Hadoop从Nutch剥离出来独立

2008年,Hadoop成为Apache的顶级项目

Hadoop这个名字来源于Hadoop之父Doug Cutting儿子的毛绒玩具象

 

 

Hadoop的特点

Hadoop的发行版本

  目前Hadoop发行版非常多,有Cloudera发行版(CDH)、Hortonworks发行版、华为发行版、 Intel发行版等,所有这些发行版均是基于Apache Hadoop衍生出来的,之所以有这么多的版本,是由 Apache Hadoop的开源协议决定的(任何人可以对其进行修改,并作为开源或商业产品发布/销售)。

   企业中主要用到的三个版本分别是:Apache Hadoop版本(原始的,所有发行版均基于这个版 本进行改进)、Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称“CDH”)、 Hortonworks版本(Hortonworks Data Platform,简称“HDP”)

 Apache Hadoop 原始版本

官网地址:http://hadoop.apache.org/

优点:拥有全世界的开源贡献,代码更新版本比较快,学习非常方便

缺点:版本的升级,版本的维护,以及版本之间的兼容性

Apache所有软件的下载地址(包括各种历史版本):http://archive.apache.org/dist/

软件收费版本ClouderaManager CDH版本 --生产环境使用

官网地址:https://www.cloudera.com/

Cloudera主要是美国一家大数据公司在Apache开源Hadoop的版本上,通过自己公司内部的各种 补丁,实现版本之间的稳定运行,大数据生态圈的各个版本的软件都提供了对应的版本,解决了版本的升级困难,版本兼容性等各种问题,生产环境强烈推荐使用

免费开源版本HortonWorks HDP版本--生产环境使用

官网地址:https://hortonworks.com/

hortonworks主要是雅虎主导Hadoop开发的副总裁,带领二十几个核心成员成立Hortonworks, 核心产品软件HDP(ambari),HDF免费开源,并且提供一整套的web管理界面,供我们可以通 过web界面管理我们的集群状态,web管理界面软件HDF网址(http://ambari.apache.org/

 Apache Hadoop版本更迭

0.x 系列版本:Hadoop当中早的一个开源版本,在此基础上演变而来的1.x以及2.x的版本

1.x 版本系列:Hadoop版本当中的第二代开源版本,主要修复0.x版本的一些bug等

2.x 版本系列:架构产生重大变化,引入了yarn平台等许多新特性

3.x 版本系列:EC技术、YARN的时间轴服务等新特性

 

 

 

Hadoop的优缺点

Hadoop的优点

Hadoop具有存储和处理数据能力的高可靠性。

Hadoop通过可用的计算机集群分配数据,完成存储和计算任务,这些集群可以方便地扩展到数以千计的节点中,具有高扩展性。

Hadoop能够在节点之间进行动态地移动数据,并保证各个节点的动态平衡,处理速度非常快,具 有高效性。 Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配,具有高容错性。

Hadoop的缺点

Hadoop不适用于低延迟数据访问。

Hadoop不能高效存储大量小文件。

Hadoop不支持多用户写入并任意修改文件。

 

posted @ 2020-06-30 21:56  若冲  阅读(192)  评论(0)    收藏  举报