• Hadoop介绍


    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结果进行汇总;

  • 相关阅读:
    对于JavaScript中this关键字的理解
    使用DOM对表格进行增删
    sql server 存储过程
    sql sever 基础 练习题
    sql sever 基础 建表
    第十章 嵌入式的Linux调试技术
    第九章 硬件抽象层 HAL
    第八章 蜂鸣器驱动
    LED:控制发光二极管
    第一个Linux驱动程序:统计单词个数
  • 原文地址:https://www.cnblogs.com/wnwn/p/12505690.html
Copyright © 2020-2023  润新知