zoukankan      html  css  js  c++  java
  • 大数据:Hadoop(简介)

    原文:https://www.cnblogs.com/volcao/p/11443787.html

    一、简介

    • 定义:开源的,做分布式存储与分布式计算的平台;
    • 功能:搭建大型数据仓库,对PB级数据进行存储、处理、分析、统计等业务;(如日志分析、数据挖掘)
    • Hadoop工作模块
    1. Common:提供框架和工具,对其它Hadoop模块的支持;
    2. Distributed File System(HDFS:分布式文件系统):负责数据的存储;
    3. YARN:作业的调度及资源管理;
    4. MapReduce:基于YARN的并行处理框架;

    二、Hadoop 功能模块

     1)HDFS(分布式文件系统)

    • 特点

    1. 可扩展,可容错、可海量的存储数据;
    2. 将文件切分成指定大小的数据块(一般默认128M),并以多副本的存储在多个机器上;(达到容错目的)
    3. 数据切分、多副本、容错等操作对用户是透明的;
    • 实例简介

    1. 有 8 个节点(一般指单个服务器,一个独立的磁盘);
    2. part-0(Filename):文件名;
    3. r:2(numReplicas):表示 part-0 文件有 2 个副本;
    4. {1, 3}(block-ids):表示 part-0 文件被切分为 1 和 3 两部分;
    • 对多个 block 进行编号,保证读取文件的数据时,不同数据被读取的顺序不变;

     2)YARN(Yet Another Resource Negotiator)

    • 功能:负责整个集群资源的管理和调度;
    • 特点:可扩展(如:计算能力不足时可添加机器)、可容错、多框架资源统一调度(可以跑不同的框架,进而可以进行针对不同的业务);
    • 实例简介

    1. 可多个不同类型的框架同时进行; 

     3)MapReduce

    • 功能:分布式计算框架;
    • 特点:可扩展、可容错、做海量数据离线处理(不能实时处理);
    • 实例简介

    •  计算过程:(例:world count process,统计文章中所有单词的出现次数)
    1. Input:输入操作文件;
    2. Splitting:将操作文件分割为 3 部分;(一般会分别放在 3 台机器上进行操作计算,可提高效率)
    3. Mapping:以 空格 为分隔符,将每部分文章拆分成单个词汇;

    三、Hadoop 优势及其生态系统

     1)Hadoop 的优势

    • 高可靠性

    1. 存储方面:数据块多副本;(防止数据块丢失)
    2. 计算方面:如果出现错误,会重新调度作业进行计算;
    • 扩展性

      存储/计算资源不够时,可以添加横向的线性扩展机器;

      一个集群中可以包含数以千计的节点;

    • 其它

    1. 可以存储在廉价的机器上,降低成本;
    2. 具有成熟的生态圈;

     2)Hadoop 生态系统

    • 狭义的 Hadoop:一个适合大数据分布式存储(HDFS)、分布式计算(MapReduce)和资源调度(YARN)的平台;
    • 广义的 Hadoop:指Hadoop生态系统,Hadoop 生态系统是一个很庞大的概念,hadoop 是其中最重要最基础的一部分;生态系统中的每一个子系统只解决某一个特定的问题域(甚至可能很窄),不搞统一型的一个全能系统,而是小而精的多个小系统;
    1. Hive:通过 SQL 语句进行统计分析;(Hive 的执行引擎将 SQL 语句转换为Map Reduce,提交到集群上进行计算)
    2. R Connectors:R 语言,一般做统计分析;
    3. Pig:通过脚本方式进行统计分析;(将脚本转换为 Map Reduce,一般做离线处理)
    4. Ooize:配置具有依赖关系的数据,一步步有序的执行;(执行顺序排列好后,不能乱序执行)
    5. Zookeeper:管理多种框架,做分布式的协调服务;(如果某个执行框架出现问题,可做单点的切换,执行其他框架)
    6. Flume:日志收集框架;(分布式的,使用配置文件,收集多个服务器上的运行日志)
    7. Sqoop:数据传输交换工具,用于传统的关系型数据库与 Hadoop 之间进行数据传输,双向的;(可将传统数据库中的数据直接抽取到 HDFS、Hive 或者 Hbase 中)
    8. Hbase:实时查询数据;是针对结构化数据的一个可伸缩、可扩展、高性能、面向列的一个数据库,或者说是Hadoop 中的一个数据库;
    •  一般使用不同框架解决特定域的问题;

    • 生态系统特点:所有框架都是开源的,可根据源码做定制化开发,并且社区活跃;

  • 相关阅读:
    oracle 10g 免安装客户端在windows下配置
    sql2005 sa密码
    使用windows live writer 有感
    windows xp SNMP安装包提取
    汉化groove2007
    迁移SQL server 2005 Reporting Services到SQL server 2008 Reporting Services全程截图操作指南
    foxmail 6在使用中的问题
    AGPM客户端连接不上服务器解决一例
    SpringSource Tool Suite add CloudFoundry service
    Java 之 SWing
  • 原文地址:https://www.cnblogs.com/panpanwelcome/p/13405491.html
Copyright © 2011-2022 走看看