hadoop是什么

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

  hadoop实现了一个分布式文件系统,简称HDFS,HDFS有高容错性的特点,并且设计用来部署在低廉的硬件上;而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。HDFS放宽了POSIX的要求,可以以流的形式访问文件系统中的数据;

  hadoop核心组件:

    HDFS分布式文件系统:解决海量数据存储;

    YARN作业调度和集群资源管理的框架:解决资源任务调度;

    MAPREDUCE分布式运算编程框架:解决海量数据计算;

hadoop发展简史

  hadoop是Apache Lucene创始人Doug Cutting创建的。最早起源于Nutch,它是Lucene的子项目。Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取,索引,查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问题:如何解决数十亿网页的存储和索引问题;

  2003年Google发表了一篇论文为该问题提供了可行的解决方案。论文中描述的是谷歌的产品架构,该架构称为:谷歌分布式文件系统(GFS),可以解决他们在网页爬取和索引过程中产生的超大文件的存储需求;

  2004年Google发表论文向全世界介绍了谷歌版的MapReduce系统;

  同时期,Nutch的开发人员完成了相应的开源实现HDFS和MapReduce,并从Nutch中剥离成为独立项目hadoop,到2008年1月hadoop成为Apache顶级项目,迎来了它的快速发展期;

  2006年Google发表了论文是关于BigTable的,这促使了后来的Hbase的发展;

  因此,Hadoop及其生态圈的发展离不来Google的贡献;

hadoop三大发行版本

  hadoop三大发行版本:Apache,Cloudera,Hortonworks

  Apache版本最原始的版本,对于入门学习最好;

  Cloudera在大型互联网企业中用的较多;

  Hortonworks文档较好;

hadoop特性优点

  1.扩容能力:hadoop是在可用的计算机集群间分配数据并完成计算的,这些集群可用方便的扩展到数以千计的节点中;

  2.成本低:hadoop通过普通廉价的机器组成服务器集群来分发以及处理数据,以至于成本很低;

  3.高效率:通过并发数据,hadoop可以在节点之间动态并行的移动数据,是的速度非常快;

  4.可靠性:能自动维护数据的多份复制,并且在任务失败后自动地重新部署计算任务。所以hadoop的按位存储和处理数据的能力值得人们的信赖;

hadoop1.x和hadoop2.x区别  

  

  在hadoop1.x时代,hadoop中的MapReduce同时处理业务逻辑运算和资源的调度,耦合性较大;在hadoop2.x时代,增加了yarn,yarn只负责资源的调度,MapReduce只负责运算;

hadoop的组成

  1.HDFS架构概述(数据存储)

    NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等;(数据的索引)

    DataNode(dn):在本地文件系统存储文件块数据,以及块数据的效验和;(数据的本身)

    Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照;

  2.YARN架构概述(资源调度)

    

    ApplicationMaster(AM)作用如下:

      1.负责数据的切分;

      2.为应用程序申请资源并分配内部的任务;

      3.任务的监控与容错;

    Container(容器):

      Container是yarn中的资源抽象,它封装了某个节点上的多维度资源,如内存,CPU,磁盘,网络等;

  3.MapReduce架构概述(运算)

    MapReducer将计算过程分为两个阶段:Map和Reduce

      map阶段并行处理输入数据;

      reduce阶段对map结果进行汇总;

 posted on 2020-03-18 17:05  wnwn  阅读(197)  评论(0编辑  收藏  举报