一、名字起源
该项目的创建者,DougCutting解释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为例
- (1)HDFS:一个高可靠、高吞吐量的分布式文件系统。
:-:
:-:
- (2)MapReduce
- 一个分布式的离线并行计算框架。
- MapReduce 将计算过程分为两个阶段:Map 和 Reduce
- Map 阶段并行处理输入数据
- Reduce 阶段对Map结果进行汇总
:-:
:-: 任务调度流程
:-:
:-:
:-: 数据流程图
- (3)YARN
- 作业调度与集群资源管理的框架。
- ResourceManager(rm)
- 处理客户端请求
- 启动/监控 ApplicationMaster
- 监控 NodeManager
- 资源分配与调度
- NodeManager(nm)
- 单个节点上的资源管理
- 处理来自ResourceManager的命令
- 处理来自ApplicationMaster的命令
- ApplicationMaster
- 数据切分
- 为应用程序申请资源,并分配给内部任务
- 任务监控与容错
- Container
- 对任务运行环境的抽象,封装了CPU
- 内存等多维资源以及环境变量
- 启动命令等任务运行相关的信息
:-:
- (4)Common
- 支持其他模块的工具模块
- Configuration
- RPC
- 序列化机制
- 日志操作