Hadoop 初识

作者: 沐小晨曦 | 来源:发表于2018-05-21 14:30 被阅读37次

    Hadoop的前世今生

    Google大数据技术

    • MapReduce
    • BigTable
    • GFS

    革命性的变化:

    • 成本降低,能用PC机,就不用大型机和高端存储。
    • 软件容错硬件故障视为常态,通过软件保证可靠性
    • 简化并行分布式计算,无需控制节点同步和数据交换

    Hadoop的功能与优势

    Hadoop是开源的分布式存储和分布式计算平台。

    核心组成:

    HDFS:分布式文件系统,存储海量的数据

    MapReduce:并行处理框架,实现任务分解和调度

    功能:

    搭建大型数据仓库,PB级数据的存储、处理、分析、统计等业务。

    优势:

    • 高扩展
    • 低成本
    • 成熟的生态圈

    HDFS 分布式文件系统

    HDFS设计架构

    • 块(Block)

      HDFS的文件被分成块进行存储,HDFS块的默认大小为64MB,块是文件存储处理的逻辑单元。

    • NameNode

      管理节点,存放文件元数据:

      • 文件和数据块的映射表
      • 数据块与数据节点的映射表
      image

    • DataNode

      工作节点,,存放数据块。

    HDFS中数据管理与容错

    • 数据块副本

      image
    • 心跳检测

      image
    • 二级NameNode

      image

    HDFS中文件的读写操作

    • 读取文件的流程

      客户端发起文件读取请求,把文件名、路径告诉NameNode,NameNode查询元数据,根据元数据读取Blocks,下载重装。

    • 写入文件的流程

      文件先拆分为块,NmaeNode找到可用空间,返回DataNodes,然后写入Blocks,写入Blocks时要进行流水线复制,复制完成后更新元数据。

    HDFS的特点

    • 数据冗余,硬件容错
    • 流式的数据访问
    • 适合存储大文件

    适合数据批量读写,吞吐量高;不适合交互式应用,低延迟很难满足;适合一次写入多次读取,顺序写入;不支持多用户并发写相同文件。

    MapReduce 并行处理框架

    运行原理

    分而治之,一个大任务分成多个小的子任务(map),并行执行后,合并结果(reduce)

    运行流程

    • Job & Task

      一个Job(作业)会被分为多个Task(任务),Task可以分为MapTask和ReduceTask

    • JobTracker

      • 作业调度
      • 分配任务、监控任务执行进度
    • TaskTracker

    image image

    MapReduce的容错机制

    • 重复执行
    • 推测执行

    WordCount执行过程

    image

    参考

    Hadoop大数据平台架构与实践--基础篇

    相关文章

      网友评论

        本文标题:Hadoop 初识

        本文链接:https://www.haomeiwen.com/subject/jgifjftx.html