Hadoop生态系统不断完善和成熟,目前已经包含了多个子项目。
除了核心的HDFS和MapReduce以外,Hadoop生态系统还包括Zookeeper,HBase,Hive,Pig,Mahout,Flume,Sqoop,Ambari等功能组件。
各组件的简单概括:
- 1. HDFS
Hadoop分布式文件系统或HDFS是基于Java的分布式文件系统,允许您在Hadoop集群中的多个节点上存储大量数据。 HDFS具有超大数据,流式处理,可以运行在廉价商用服务器上等优点。
- 2. HBase
HBase是一个提供高可靠性,高性能,可伸缩,实时读写,分布式的列式数据库,一般采用HDFS作为其底层数据储存系统。
HBase与传统关系数据库的一个重要区别:前者采用基于列的存储,后者采用基于行的存储。
HBase具有良好的横向扩展能力,可以通过不断地增加廉价的商用服务器来提高存储能力
- 3. MapReduce
mapreduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算,它将复杂的,运行于大规模集群上的并行计算过程高度的抽象成为两个函数map 和reduce,将其运行于廉价的计算机集群上,完成海量的数据的处理。
通俗说MapReduce核心思想是“分而治之”,把输入的数据集切分为若干独立的数据块,分发给一个主节点管理下的各个分界点来共同并行完成,最后通过整合各个节点的中间结果得到最终结果。