Hadoop 初识

Hadoop的前世今生

Google大数据技术

  • MapReduce
  • BigTable
  • GFS

革命性的变化:

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

Hadoop的功能与优势

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

核心组成:

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

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

功能:

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

优势:

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

HDFS 分布式文件系统

HDFS设计架构

  • 块(Block)

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

  • NameNode

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

    • 文件和数据块的映射表
    • 数据块与数据节点的映射表
    Hadoop 初识_第1张图片
    image

  • DataNode

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

HDFS中数据管理与容错

  • 数据块副本

    Hadoop 初识_第2张图片
    image
  • 心跳检测

    Hadoop 初识_第3张图片
    image
  • 二级NameNode

    Hadoop 初识_第4张图片
    image

HDFS中文件的读写操作

  • 读取文件的流程

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

  • 写入文件的流程

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

HDFS的特点

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

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

MapReduce 并行处理框架

运行原理

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

运行流程

  • Job & Task

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

  • JobTracker

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

Hadoop 初识_第5张图片
image
Hadoop 初识_第6张图片
image

MapReduce的容错机制

  • 重复执行
  • 推测执行

WordCount执行过程

Hadoop 初识_第7张图片
image

参考

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

你可能感兴趣的:(Hadoop 初识)