• 互联网大规模数据分析技术(自主模式)第五章 大数据平台与技术 第10讲 大数据处理平台Hadoop


    大规模的数据计算对于数据挖掘领域当中的作用。两大主要挑战:第一、如何实现分布式的计算 第二、分布式并行编程。Hadoop平台以及Map-reduce的编程方式解决了上面的几个问题。这是谷歌的一个最基本的计算模式,并且对于大规模数据的分析和处理是一种非常有效的方法。以下四个方面了解大数据处理平台Hadoop。

    谷歌的解决方案

    第一、我们需要计算节点去组成集群。这些点组成集群之后我们是通过网络将这些点连接到一起,从而完成计算和数据的分发。

    在这样一种集群式的架构当中,我们是通过switch(交换机)将它们连接到一起。1Gbps,这里的网速要求是非常高的。通过高速的网络将计算机连接在一起完成数据的分发和任务的分配。

    多个计算机连接到一起需要多个交换机实现互联。在主干网上对网速的要求会达到更高(网速达到2-10Gbps),也就是说当CPU完成高速运算之后我们要把结果及时和其他的CPU或者是计算机来进行交互。这必然需要高速的网络来帮助我们完成。2011年,我们估计谷歌已经有100万台以上的计算节点来完成大规模的数据分析。

     大规模的计算当中,我们需要把数据分发出去,把任务分发出去,最终再把最终的结果和数据收集起来完成我们的计算。

    所以在大规模的数据计算当中,我们需要有一定的硬件条件,这样的硬件条件保证了我们能够完成分布式的计算,保证了计算在出现问题或者是机器在出现问题的时候能够快速的恢复。

    理想的解决方案是什么?

    要把数据在网络当中进行传播。在传播数据的时候虽然是借助了高速的网络仍然会花一定的时间。解决方案当中就是要把数据和计算任务进行一个local,也就是说局部化的处理。将这台计算机要完成的任务和它所需要的数据放到一起,从而达到快速计算的目的。谷歌提出的Map-reduce这样一种编程模式,解决了上面的问题,能够很好地进行大规模的数据分析。在这样一个大规模的数据分析当中,除了有编程模式Map-Reduce,我们还需要一个文件系统来存储我们的数据,帮助我们的编程模式完成计算。

    Hadoop这样一个开源的平台集成了这样一些元素来实现我们的运算。Hadoop的运行是使用的Map-reduce这样一种编程的思想,其次Map-reduce允许大规模的数据分析在不同的计算的集群当中,去传递数据和分发任务。所以这样地完成了我们分布式的处理。

    Hadoop的Common主要是一些Java的库,

    Hadoop这样一个开源平台是以java语言为主的。

    Hadoop的YARN这样一个调度平台,所谓的调度是进行资源的分配和数据分发。

    在调度上面需要建立Hadoop的分布式文件系统,简称:HDFS

    当所有这些元器件被组之后我们能够在上面完成分布式的编程。

    分布式文件系统的工作主要由一些块数据的服务器来组成,每一个大的文件被分解成若干个块儿,而一般来说我们会把这些块分成16到64MB。每一个数据块必须要被重复也就是做备份。被重复多少个呢?一般是2个到3个来进行备份。这个备份不是在一台计算机上去做多个数据的备份,是要在不同的计算机节点上面去备份这样一个数据。

    在分布式文件系统当中,有一个Master节点,或者是Hadoop当中我们把它叫做Name Node,它能够存储文件的一些信息,从而知道文件存在哪里,有几个备份。这个Master节点就起到一个中央控制的作用。我们还有一些客户端的节点,客户端的节点就通过和master节点呢进行数据交互完成数据的存储和分发以及任务的传送。

    我们分布式文件系统的思想:数据做多个备份,但是备份到不同的电脑上面。

    Hadoop由1.0到2.0,多了YARN这样一个调度平台。除了Map-reduce编程模式之外,还可以接入其他的数据分析的编程框架。

    整个Hadoop的生态系统

    在一些大规模数据分析的平台上去进行实战和实例的演示的话,可以选择开源平台Hadoop。也有不开源项目:谷歌内部平台以及Asta Data这样一个集群的、结构化的查询语言的数据库。同样Asta Data也实行了Map-reduce的编程。

    同时和大数据平台比较相似的或者是相辅相成的还有我们云计算的平台。在云计算的平台当中,大家可以利用这些云计算的平台按照什么来租用呢?按照小时可以租用这些计算资源来完成大规模数据分析的处理。你只要把数据交给云平台,云平台按小时计费帮助你们完成数据分析。你不用去搭建、管理、维护平台,这是云计算的一些概念。

  • 相关阅读:
    MySql中启用InnoDB数据引擎的方法
    云说的到底对不对,京东到底行不行?
    hibernate HQL查询的参数绑定
    MySQL到底能支持多大的数据量?
    C# RSA和Java RSA互通
    Log4j 2使用教程
    Log4j.properties配置详解
    JMX 基础Demo
    iBatis缓存实现源码分析-FIFO,LUR实现方法
    SqlMapClient 创建过程之SqlMapConfigParser源码走读
  • 原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/6433268.html
Copyright © 2020-2023  润新知