前言

Apache Hadoop起源于开源网络搜索引擎 Apache Nutch。概括来说, Hadoop构建了一个完整的大数据生态系统,其核心组件包括HDFS(分布式文件存储),MapReduce(分布式数据批处理计算框架), 以及Yarn(Hadoop集群资源管理系统),同时Hadoop衍生的相关项目例如Hive(数据仓库),HBase(列式数据库),Spark(基于内存的分布式数据计算框架)等也在大数据领域得到了广泛的应用。

大纲

  • HDFS
  • MapReduce
  • Hive
  • Hbase

    HDFS

    Hadoop Distributed File System实现了一个分布式文件存储系统,其核心原理与Google在2003年发表的关于GFS的论文类似,简单的来说就是将海量的文件分布的存储在不同的物理磁盘上,使用者不需要关心具体某部分数据被存储在哪里,而能够像在单机文件系统上一样存储读取文件。

    HDFS的架构

  • NameNode: 维护文件系统数和整颗树上的各个节点

  • DataNode: 数据真正存放的位置

    MapReduce

    引用
    分布式计算的框架

  • Map: 将任务拆封成若干个子任务,按照一定的规则进行匹配计算,生成一定的Key-Value

  • Reduce: 将相同key的value进行迭代计算

    Hive

    Hive是一个将sql语句翻译成map reduce命令的解释器,分为两部分

  • 存储hive表元数据的mysql

  • hdfs:数据真正存储的地方

    Hbase

    列簇数据库,底层依然是HDFS,Hbase不同于传统的行数据库,Hbase可以随时增加列。一个行键、列族、列修饰符、数据和时间戳组合起来叫做一个单元格(Cell)。这里的行键、列族、列修饰符和时间戳其实可以看作是定位属性(类似坐标),最终确定了一个数据。Hbase适用大数据量的实时搜索。
    轻松理解Hbase面向列的存储