Hadoop学习 二

Hey

Hadoop学习中。

Hadoop概念

Hadoop是一个由Apache基金会开发的分布式系统基础架构。
主要解决海量数据的存储和海量数据的分析计算问题。
Hadoop广义上通常指一个更广泛的概念–Hadoop生态圈。

Hadoop由来

由Lucene框架发展而来,学习和模仿Google的解决方法发布微型版Nutch。可以说Google是Hadoop思想来源(Google在大数据方面的三篇论文,抽空一定看看这三篇论文)。 GFS—>HDFS
Map-Reduce—>MR BigTable—>HBase 2006年Hadoop正式发布。

Hadoop三大发行版本

  1. Apache 最原始最基础的版本,对入门学习最好。
  2. Cloudera(CDH版) 在大型互联网企业中用的较多,出现问题会收费解决。
  3. Hortonworks 开发文档较好。

    Hadoop的优势

  4. 高可靠性 Hadoop底层维护多个数据副本,默认三个。备份不在本机,在其他服务器上。
  5. 高扩展性 在集群间分配任务数据,可以方便扩展数以千计节点。
  6. 高效性 在MapReduce思想下,Hadoop并行工作。
  7. 高容错性 自动将失败的任务重新分配

    Hadoop组成 (重点了解部分)

    • Hadoop1.x和Hadoop2.x的区别 Hadoop1.x组成:Common(辅助工具)、HDFS(数据存储)、MapReduce(计算+资源调度)
      Hadoop2.x组成:Common(辅助工具)、HDFS(数据存储)、Yarn(资源调度)、MapReduce(计算)
      在Hadoop1.x时代,Hadoop中的MapReduce同时处理业务逻辑运算和资源调度,耦合性较大。在Hadoop2.x时代,增加了Yarn来负责资源的调度,MapReduce只负责运算。

      HDFS架构概述

  8. NameNode:存储文件的元数据,如文件名,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。
  9. DataNode:在本地文件系统存储文件块数据,以及块数据的校验。
  10. Secondary NameNode:用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。
    个人理解NameNode为目录,DataNode为实体数据块。 ###YARN架构概述
  11. ResourceManager主要作用如下:
    • 处理客户端请求
    • 监控NodeManager
    • 启动或监控ApplicaitonMaster
    • 资源的分配与调度
  12. NodeManager主要作用如下:
    • 管理单个节点上的资源
    • 处理来自于ResourceManager的命令
    • 处理来自ApplicationMaster的命令
  13. ApplicationMaster
    • 负责数据的切分
    • 为应用程序申请资源并分配给内部的任务
    • 任务的监控与容错
  14. Container Container是YARN中的资源抽象,它封装了某个节点上多维度资源,如内存、CPU、磁盘、网络等。

    MapReduce架构概述

    MapReduce将计算过程分为两个阶段:Map和Reduce。Map阶段并行处理输入数据,Reduce阶段对Map结果进行汇总。