1.Hadoop Common是Hadoop体系最底层的一个模块,为Hadoop各个子模块提供各种工具,比如系统配置工具Configuration、远程调用RPC、序列化机制和日志操作等等,是其他模块的基础。
2.HDFS是Hadoop分布式文件系统缩写,它是Hadoop的基石。HDFS是一个具备高度容错性的文件系统,适合部署在廉价的机器上,它能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
3.YARN是统一资源管理和调度平台。它解决了上一代Hadoop资源利用率低和不能兼容异构的计算框架等多种问题。提供了资源隔离方案和双调度器的实现。
4.MapReduce是一种编程模型,利用函数式编程思想,将对数据集的过程分为Map和Reduce两个阶段。MapReduce的这种编程模型非常适合进行分布式计算。Hadoop提供MapReduce的计算框架,实现了这种编程模型,用户可以通过Java\C++\Python\PHP等多种语言进行编程。
5.Spark是加州伯克利大学AMP实验室开发的新一代计算框架,对迭代计算有很大优势,与MapReduce相比性能提升明显,并且可以和Yarn集成,并且还提供了SparkSQL组件。
6.HBase来源于Google的Bigtable论文,HBase是一个分布式的,面向列族的开源数据库。采用了Bigtable的数据模型--列族。HBase擅长大规模数据的随机、实时读写访问。
7.Zookeeper作为一个分布式服务框架,是基于Fast Paxos算法实现,解决分布式系统中一致性的问题。提供了配置维护,名字服务,分布式同步,组服务等。
8.Hive最早是facebook开发并使用的,是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,提供简单的SQL查询功能。并将SQL转为MapReduce作业运行。其有点就是学习成本低。降低了Hadoop的使用门槛。
9.Pig与Hive类似,也是对大数据集进行分析和评估的工具,不同于Hive的是Pig提供了一种高层的,面向领域的抽象语言Pig Latin.同样Pig也可以将Pig Latin转化为MapReduce作业。相比与SQL,Pig Latin更加灵活,但学习成本更高。
10.Impala是Cloudera公司开发,可以对存储HDFS、HBase的海量数据提供交互查询的SQL接口。除了和Hive使用相同的统一存储平台,Impala也使用相同的元数据,SQL语法,ODBC驱动程序和用户界面。Impala还提供了一个熟悉的面向批量或者实时查询的统一平台。Impala的特点是查询非常迅速,其性能大幅度领先于Hive。Impala并不是基于MapReduce的,它的定位是OLAP,是Google的新三驾马车之一Dremel的开源实现。
11.Mahout是一个机器学习和数据挖掘库,它利用MapReduce编程模型实现k-means,Native,Bayes,Collaborative Filtering等经典的机器学习算法,并使其具有良好的可扩展性。
12.Flume是Cloudera提供的一个高可用,高可靠,分布式的海量日志采集、聚合和传输系统,Flume支持在日志系统中定制各类数据发送方,用于数据收集,同时Flume提供对数据进行简单处理并写到各个数据接收方的能力。
13.Sqoop是SQL to Hadoop的缩写,主要作用在于结构化的数据存储与Hadoop之间进行数据双向交换,也就是说,Sqoop可以将关系型数据库的数据导入到HDFS、Hive、也可以从HDFS、Hive导出到关系型数据库中。Sqoop利用了Hadoop的优点,整个导入导出都是由MapReduce计算框架实现并行化,非常高效。
14.Kafka是一种高吞吐量的分布式发布订阅消息系统。具有分布式、高可用的特性,在大数据系统里被广泛使用,如果把大数据系统比作一台机器,那么kafka就是前端总线,它连接了平台中的各个组件。
还有比如说Storm这样大数据平台。