zoukankan      html  css  js  c++  java
  • 【第一篇】大数据概述与hadoop 的介绍

    一:大数据的应用场景:

       1.1: 大数据的诞生

            2005年Hadoop项目诞生。 Hadoop其最初只是雅虎公司用来解决网页搜索问题的一个项目,后来 因其技术的高效性,被Apache Software Foundation公司引入并成为开源应用。Hadoop本身不是一个产品,而是由多个软件产品组成的一个生态系统,这些软件产品共同实现全面功能和灵活的大数据分析。从技术上看,Hadoop由两项关键服务构成:采用Hadoop分布式文件系统(HDFS)的可靠数据存储服务,以及利用一种叫做MapReduce技术的高性能并行数据处理服务。这两项服务的共同目标是,提供一个使对结构化和复杂数据的快速、可靠分析变为现实的基础。

       1.2: 2015 大数据的峰会

       过去7年我们从互联网创业到互联网产业,很快进入互联网经济,而且正在从IT走向DT时代,也许昨天称为IT领袖峰会,未来要称DT领袖峰会,DT不仅仅 是技术提升,而是思想观念的提升。DTIT时代区别,IT以我为中心,DT以别人为中心,DT要让企业越来越强大,让你员工强大。DT越来越讲究开放、透明。我们所有企业都要思考什么样的文化、什么样的组织、什么样的人才才能适应未来DT时代,相信整个DT时代到来,在海外这被称为D经济。

        1.3: 什么是大数据

         大数据(big data),或称巨量资料,指的是海量的、高增长率的和多样化的信息资产。不是超过某个特定数量级的数据集才是大数据,而是规模超过现有数据库工具获取、存储、管理和分析能力的数据集才称为大数据。 大数据技术的战略意义不在于掌握庞大的数据信息,而在于对这些含有意义的数据进行专业化处理。换言之,如果把大数据比作一种产业,那么这种产业实现盈利的关键,在于提高对数据的“加工能力”,通过“加工”实现数据的“增值”。(ETL)


        1.4:大数据的定义与特征

        

     1.4.1:大数据的特征(4V+1O):

          数据量大(Volume)。第一个特征是数据量大,包括采集、存储和计算的量都非常大。大数据的起始计量单位至少是P(1000个T)、E(100万个T)或Z(10亿个T)。

          类型繁多(Variety)。第二个特征是种类和来源多样化。包括结构化、半结构化和非结构化数据,具体表现为网络日志、音频、视频、图片、地理位置信息等等,多类型的数据对数据的处理能力提出了更高的要求。

          价值密度低(Value)。第三个特征是数据价值密度相对较低,或者说是浪里淘沙却又弥足珍贵。随着互联网以及物联网的广泛应用,信息感知无处不在,信息海量,但价值密度较低,如何结合业务逻辑并通过强大的机器算法来挖掘数据价值,是大数据时代最需要解决的问题。

          速度快时效高(Velocity)。第四个特征数据增长速度快,处理速度也快,时效性要求高。比如搜索引擎要求几分钟前的新闻能够被用户查询到,个性化推荐算法尽可能要求实时完成推荐。这是大数据区别于传统数据挖掘的显著特征。

          数据是在线的(Online)。数据是永远在线的,是随时能调用和计算的,这是大数据区别于传统数据最大的特征。现在我们所谈到的大数据不仅仅是大,更重要的是数据变的在线了,这是互联网高速发展背景下的特点。比如,对于打车工具,客户的数据和出租司机数据都是实时在线的,这样的数据才有意义。如果是放在磁盘中而且是离线的,这些数据远远不如在线的商业价值大。

     1.4.2:大数据的定义:

          大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理(MPP)数据库、数据挖掘、分布式文件系统分布式数据库云计算平台、互联网和可扩展的存储系统

    最小的基本单位是bit,按顺序给出所有单位:bitByte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB。
    它们按照进率1024(2的十次方)来计算:
    1 Byte =8 bit
    KB = 1,024 Bytes
    MB = 1,024 KB 
    GB = 1,024 MB 
    TB = 1,024 GB 
    PB = 1,024 TB
    EB = 1,024 PB 
    ZB = 1,024 EB 
    YB = 1,024 ZB 
    BB = 1,024 YB
    NB = 1,024 BB 
    DB = 1,024 NB 

    2.1: hadoop 的概述  

       2.1.1、简介

         Hadoop是一个实现了MapReduce计算模式的能够对大量数据进行分布式处理的软件框架,是一种可靠、高效、可伸缩的处理数据架构。Hadoop计算框架最核心的设计是HDFS(Hadoop Distributed File System)和MapReduce,HDFS单看全称就知道,实现了一个分布式的文件系统,MapReduce则是提供一个计算模型,基于分治策略。

       2.1.2、Hadoop特性

           第一,它是可靠的,因为它假设计算元素和存储会失败,因此它默认维护多个工作数据副本,确保能够针对失败的节点重新分布处理。     其次,Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。Hadoop 还是可伸缩的,能够处理 PB 级数据。     此外,Hadoop 依赖于普通pc机或廉价服务器,可以根据业务规模自行增减节点,因此它的成本比较低,且开源,任何人都可以使用。 总之,Hadoop就是一个适合大量数据的分布式存储和计算的平台。

     

    2.2:hadoop 的核心

          

     

    Hadoop Common: 为其他Hadoop模块提供基础设施。

    Hadoop HDFS: 一个高可靠、高吞吐量的分布式文件系统

    Hadoop MapReduce: 一个分布式的离线并行计算框架

    Hadoop YARN: 一个新的MapReduce框架,任务调度与资源管理


     

    2.3 hdfs 的架构图:

    2.4 :HDFS 服务的功能

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

       DataNode 在本地文件系统存储文件块数据,以及块数据的校验和。

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


     

    2.5 : yarn 的架构

      

    YARN 服务功能:

    ResourceManager

    处理客户端请求 启动/监控ApplicationMaster 监控NodeManager 资源分配与调度

    NodeManager

    单个节点上的资源管理 处理来自ResourceManager的命令 处理来自ApplicationMaster的命令

    ApplicationMaster

    数据切分 为应用程序申请资源,并分配给内部任务 任务监控与容错

    Container

    对任务运行环境的抽象,封装了CPU内存等多维资源以及环境变量、启动命令等任务运 行相关的信息.


    2.6: MapReduce on YARN

     

     MapReduce on YARN

    1)用户向YARN中提交应用程序/作业,其中包括ApplicaitonMaster程序、启动ApplicationMaster的命令、用户程序等;

    2)ResourceManager为作业分配第一个Container,并与对应的NodeManager通信,要求它在这个Containter中启动该作业的ApplicationMaster;

    3)ApplicationMaster首先向ResourceManager注册,这样用户可以直接通过ResourceManager查询作业的运行状态;然后它将为各个任务申请资源并监控任务的运行状态,直到运行结束。即重复步骤4-7;

    4)ApplicationMaster采用轮询的方式通过RPC请求向ResourceManager申请和领取资源;

    5)一旦ApplicationMaster申请到资源后,便与对应的NodeManager通信,要求它启动任务;

    6)NodeManager启动任务;

    7)各个任务通过RPC协议向ApplicationMaster汇报自己的状态和进度,以让ApplicaitonMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务; 在作业运行过程中,用户可随时通过RPC向ApplicationMaster查询作业当前运行状态;

    8)作业完成后,ApplicationMaster向ResourceManager注销并关闭自己;

    离线计算框架 MapReduce

    一:将计算过程分为两个阶段,map和reduce map 阶段并行处理输入数据 reduce 阶段对map 结果进行汇总。

    二:shuffle 连接map 和Reduce 两个阶段 map task 将数据写到本地磁盘 reduce task 从每个map TASK 上读取一份数据

    三: 仅适合 离线批处理 具有很好的容错性和扩展性 适合简单的批处理任务

    四: 缺点明显 启动开销大,过多使用磁盘导致效率底下等。

  • 相关阅读:
    Windows 8 C#调用C++编写的Windows运行时组件
    Metro style App Datetime formating.
    《编程匠艺》读书笔记之一
    ContextMenu的使用
    单例模式
    c# 类中字段属性设计
    Metro style app 文件查找
    Win 8 学习资料汇总
    Metro C++ 初体验 第二周
    Metro style app 文件、文件夹的选择、文件的保存。
  • 原文地址:https://www.cnblogs.com/flyfish-yangyang/p/7596705.html
Copyright © 2011-2022 走看看