Hadoop的产生背景

  1. hadoop的背景
    • 数据处理步骤:
        通过运用Python网页爬虫或者Hadoop的Flume框架实时收集数据>数据存储>运用Hadoop、Hive、Spark查找关键字进行数据统计>统计之后的数据由HDFS导入到MySQL中进行存储>运用SpringMVC建立与MySQL联系,对数据进行Web前端展示(主要是HighChart软件)。
    • 对于存储:Google采用多台机器,使用分布式的概念去存储
      对于计算:用多台机器去处理
        MapReduce核心思想:将数据分开处理,结果合在一起存储(”分而治之”思想)。MapReduce分为Map和Reduce,每个Map处理的数据是独立的,Reduce就是合(结果合在一起存储)
    • 关于存储:HDFS诞生>分布式文件系统
        数据存储在HDFS上,然后MapReduce进行处理HDFS上的数据。
        分布式存储:分布式数据库:HBase(google称其为:BigTable、GFS)。
    • 分布式存储系统起源于谷歌的三篇论文(谷歌的三驾马车:MapReduce、BigTable、GFS)
        后来逐渐演变为现在的Hadoop生态系统的主要框架:
      GFS ->HDFS
      MapReduce->MapReduce
      BigTable->HBase
    • Hadoop的四大核心模块
      Hadoop common:支持其他模块的工具类,为Hadoop模块提供基础设施
      Hadoop HDFS:分布式文件系统,提供存储
      Hadoop YARN:任务调度和集群资源管理
      Hadoop MapReduce:分布式离线计算框架
        Hadoop之父Doug Cutting,Lucene、Nutch 、Hadoop等项目的发起人。
  2. Hadoop的特性
    可靠、可扩展、分布式计算框架
    • 存储的可靠性:
        如果存储数据的机器损坏了。HDFS提供了一个策略,给数据提供一个副本数(默认3个),这是 牺牲了硬盘作为代价,但是划算的。
      HDFS存储形式:以块存储,块损坏了,同样提供了一个策略,对于每个存储文件产生一个校验码,之后定期对它产生一个校验码,进行匹配,如果不匹配,说明块已经损坏
    • 计算的可靠性:
    • 可扩展性:可以添加任意多台机器,增加配置
  3. Hadoop的架构分析

    • HDFS的架构分析
      1)设计理念:一次写入,多次读取
      2)分布式应用都有主从的架构:
        主节点:NameNode
        从节点:datanode
      3)HDFS存储的是文件,文件的属性有哪些
        名称
        位置
        副本数
        拥有者、权限
        存储的块
        各个块具体存储在那个datanode上
      。。。。
        以上信息称之为:元数据(命名空间)
      元数据(命名空间)存储在namenode上
      文件具体内容存储在datanode上
      4)HDFS以块的形式存储(默认是128M),块block,1系列中块的默认大小为64MB,2系列中块的默认大小为128MB
        500M文件,块的大小是256M,第一个块的大小是256M,另一个是244M
      5)对于HDFS文件系统来说
      read读
      write写
      读取流程:/user/beifeng/mapreduce/input/wc.input
      首先知道这个文件的位置,需要先去找namenode
      “就近原则”
      客户端>namenode
      客户端>datanode
      写入的过程:/user/beifeng/mapreduce/output/part-00000
      客户端>namenode
      客户端>datanode
      数据流没有经过namenode,是客户端直接和DataNode进行数据交互。

    • YARN的架构分析
      是分布式框架,也是主从结构
        主节点:ResourceManager管理整个集群资源
        从节点:NodeManger
        客户端提交应用到ResourceManager上,来申请所需要的资源,分配到各个NodeManger节点上。
      YARN的调度过程:
        客户端提交MapReduce任务(包括很多job)到ResourceManager节点上,申请分配资源,具体运行在NodeManager上。每个job都有一个ApplicationMaster应用管理者,对任务进行管理、监控和调度。
        一个Map是在单独的资源里面运行的,不会被其他的任务抢走资源。
      为了实现这样的目的,提出了一个概念:将任务放在某一个空间中,这个空间就属于某个任务,这个概念叫做:Container(容器)。
      Map和Reduce所需资源都会放在一个容器中,任务在容器中运行。
        小结YARN:通过每个应用的应用管理者去申请资源,然后封装在容器中,告诉资源管理者,在容器中启动任务。

    • MapReduce计算框架
        将计算过程分为两个阶段,Map和Reduce,Map可以理解为一个映射。
        Map阶段并行处理输入数据到Reduce汇总阶段中间有一个过程,叫shuffle(有顺序有规则的打乱)
      简单理解:map输出到reduce输入的阶段就是shuffle。
      1. Hadoop 2.x产生
    • Hadoop1.x出现的问题:
      HDFS存在的问题:
        Namenode单点故障,难以应用于在线场景。
        Namenode压力过大,且内存受限,影响系统扩展性。
      Mapreduce存在问题:
        Jobtracker单点故障
        Jobtracker压力过大,影响拓展性,难以支持Mapreduce之外的计算框架,如果storm,spark,Tez等。
      Hadoop2由Mapreduce,HDFS和yarn三分部构成
        HDFS:NN Federation HA
        Mapreduce:在yarn上运行的MR
        Yarn:资源管理系统
    • 解决HDFS1的单点故障和内存受限问题:
      a:解决单点故障
      HDFS HA:通过主备Namenode切换来解决,如果主Namenode发生故障,则就切换到备Namenode上。(有了这样的优点以后,系统升级也变得更加方便)。
      详细过程:主Namenode对外提供服务,被Namenode同步Namenode元数据,以待切换。所有datanode块同时向两个Namenode汇报数据块信息。
        切换Namenode有两种选择,一种是手动切换,一种是自动切换。手动切换:主要使用命令来实现切换,主要适用于系统升级的场合。自动切换:是基于zookeeper实现的,zookeeper failover controller监控Namenode健康状态,并向zookeeper注册Namenode,Namenode挂掉后,ZKFC为Namenode竞争锁,获得ZKFC的Namenode成为active namenode。
      b:解决内存受限问题
        HDFS Federation(联邦),水平拓展,支持多个Namenode,每个Namenode分管一部分目录。所有Namenode共享所有Datanode存储资料。
      注意:仅仅是架构上面发生了变换,其他使用方式不变,Mapreduce的改变就是YARN的改变。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hadoop是一个开源的分布式存储和计算框架,具有处理大规模数据的能力。在过去的几十年里,随着互联网和移动互联网的快速发展,人们开始产生海量的数据,这些数据通常包括结构化数据、半结构化数据和非结构化数据。然而,传统的关系型数据库和单机计算无法满足这些大规模数据的存储和计算需求,这就产生了大数据的概念。 Hadoop诞生于谷歌的MapReduce论文和分布式文件系统论文的启发下,它可以在成百上千台服务器上并行处理成千上万的数据,从而使得计算速度得到了极大的提升。Hadoop的关键技术包括HDFS(Hadoop分布式文件系统)和MapReduce计算框架。HDFS可以将大规模数据分布式存储在多个节点上,提供了高容错性和高可靠性;而MapReduce则是一种将数据分发到不同节点上并行处理的编程模型,可以高效地处理大规模数据。 在今天的大数据时代,Hadoop已经成为了处理大规模数据的事实标准,被广泛应用于互联网、金融、零售等领域。它的出现和发展,不仅使得大数据处理变得更加简单和高效,也成为了许多企业进行数据分析和应用开发的重要工具。同时,Hadoop也催生了一系列周边生态系统,如HBase、Hive、Spark等,使得大数据的存储、计算和分析变得更加丰富多样。可以说,Hadoop已经成为了大数据背景下的一种利器,为企业带来了更多的商机和发展机会。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值