Hadoop简介

项目起源

Hadoop由ApacheSoftwareFoundation公司于2005年秋天作为Lucene的子项目Nutch的一部分正式引入。它受到最先由GoogleLab开发的 Map/Reduce和 GoogleFileSystem(GFS) 的启发

Google是Hadoop的思想之源(Google在大数据方面的三篇论文)

  • GFS --> HDFS
  • Map-Reduce --> MR
  • BigTable --> HBase

Hadoop的优势

  • 高可靠性
    • 因为 Hadoop 假设计算元素和存储会出现故障,因为它维护多个工作数据副本,在出现故障时可以对失败的节点重新分布处理。
  • 高扩展性
    • 在集群间分配任务数据,可方便的扩展数以千计的节点。
  • 高效性
    • 在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。
  • 高容错性
    • 自动保存多份副本数据,并且能够自动将失败的任务重新分配。

Hadoop组成

以Hadoop2.0为例

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

MapReduce

  • 一个分布式的离线并行计算框架。
  • MapReduce 将计算过程分为两个阶段:Map 和 Reduce
  • Map 阶段并行处理输入数据
  • Reduce 阶段对Map结果进行汇总

YARN

  • 作业调度与集群资源管理的框架。
  • ResourceManager(rm)
    • 处理客户端请求
    • 启动/监控 ApplicationMaster
    • 监控 NodeManager
    • 资源分配与调度
  • NodeManager(nm)
    • 单个节点上的资源管理
    • 处理来自ResourceManager的命令
    • 处理来自ApplicationMaster的命令
  • ApplicationMaster
    • 数据切分
    • 为应用程序申请资源,并分配给内部任务
    • 任务监控与容错
  • Container
    • 对任务运行环境的抽象,封装了CPU
    • 内存等多维资源以及环境变量
    • 启动命令等任务运行相关的信息

Common

支持其他模块的工具模块

  • Configuration
  • RPC
  • 序列化机制
  • 日志操作

 

posted @ 2022-12-14 15:47  残城碎梦  阅读(88)  评论(0编辑  收藏  举报