1.Hadoop是什么?
Apache Hadoop 是一个通过计算机集群
,分布式计算处理大数据
的框架。
集群可以从一台机器扩展到上千个,而每台机器只需要提供本地的存储和计算服务。Hadoop本身不是依靠硬件来提供高可用性,它的每个计算机都可能出现故障,但在应用层检测和处理掉这些故障,从而在计算机群集的顶部提供高可用性服务。
2.Hadoop组成模块
- Hadoop Common:支持Hadoop自身其他模块的一些公共工具。
- Hadoop Distributed File System (HDFS):一个提供大量访问应用层数据的分布式文件系统。
- Hadoop YARN:提供Job调度和集群资源管理的框架。
- Hadoop MapReduce:并行计算大量数据的系统,基于YARN。
3.Hadoop相关的Apache旗下的其他项目
- Ambari:一种基于Web的工具,用于提供、管理和监视Hadoop集群,其中包括对HDFS、MapReduce、Hive、HCatalog、HBase、ZooAdministrator、Oozie、Pig和Sqoop的支持。Ambari还提供了查看集群健康状况的仪表板,例如热图,以及查看MapReduce、Pig和Hive应用程序的能力。
- Avro:一个数据序列化系统。
-
Cassandra:一个可扩展的
多主节点
数据库,它不存在单点故障问题。 - Chukwa:一个用于管理大型分布式系统的,数据收集系统。
- HBase:一个可扩展的,分布式的数据库,它支持结构化数据的大表。
- Hive:一个提供数据摘要查询和数据临时查询的数据仓库基础结构。
- Mahout:一个可扩展的机器学习和数据挖掘库。
- Pig:一个支持并行计算的高级数据流语言和执行框架。
- Spark:一个Hadoop数据的快速通用计算引擎。Spark提供了一个简单易懂的编程模型,它适用于很多场景,包括ETL、机器学习、流处理和图形计算。
- Tez:一个基于Hadoop YARN的通用数据流编程框架。它提供了一个强大而灵活的引擎来执行任意的DAG任务,处理批处理和交互式用例的数据。Hive,Pig以及Hadoop的生态系统其他框架都引用到Tez,一些其他的商业软件(如ETL工具),用Tez来取代MapReduce作为底层的执行引擎。
- ZooKeeper:为分布式应用提供高性能的协调服务。
4.结尾
Hadoop现在已经得到广泛的使用,不管是实际需求,还是它的设计思想,都是我们必须要了解学习的。