可以这样说,hadoop集群的诞生是应时代的产物,适用于处理大规模数据。Hadoop的诞生源于谷歌公司的三篇经典论文:
- 《The Google File System,SOSP》介绍了谷歌公司研发的面向大规模数据密集型应用的分布式文件系统.
- 《Operating System Design and Implementation,OSDI》中介绍一种可以在通用机群上进行分布式部署的大数据处理框架,即MapReduce.
- 《Bigtable:A Distributed Storage System for Structured Data》则介绍了一种处理海量数据的分布式NoSQL数据库框架.
随后Apache软件基金会发起了Apache Hadoop.在早期,Hadoop包含三个子项目:
- HDFS:Hadoop Distributed File System,即Hadoop分布式文件系统,是底层也是基础。对应上述《SOSP》的思想.
- MapReduce:分布式计算框架,可以将其理解为"Hadoop集群这间屋子的框架",对应上述《OSDI》中的思想.
- Hbase:NoSQL数据库.目前比较发展比较强大,甚至可以与除HDFS外的其它组件并重.
以下是Hadoop 2.x.x 版本的核心组件及重要的外部扩展:
各组件的作用:
- HDFS:实现大数据文件的存储以及用于管理存储集群.但不支持数据的表格化管理以及快速检索.
- Hbase:在HDFS基础之上,将数据组织为面向列的数据表,可以进行快速查找,不对数据进行分布式处理,所以依赖于HDFS.
- Yarn:负责集群内存、CPU资源的管理,同时对分布式任务进行资源分配和管理。被看作是一个统一的集群资源与任务管理组件.
- MapReduce:通过向Yarn申请资源,提交任务,自定义方法实现对数据的处理。
- Hive:实现了NoSQL于传统SQL的交互,实现了NoSQL对传统SQL的兼容,体现了计算机科学里面的"上对下兼容特性"。
我是绝云椒椒,大数据科班在读生。希望和你一起共同进步!我的下一篇文章,将为你介绍HDFS以及Yarn的介绍与配置!



