这是很明显的,我们都会同意,我们可以称HDFS + YARN + MapReduce为Hadoop。但是,在Hadoop生态系统中,不同的其他组合和其他产品会发生什么呢?
例如,HDFS + YARN + Spark仍然是Hadoop吗?HBASE是Hadoop吗?我想我们考虑的是HDFS + YARN + Pig Hadoop,因为Pig使用MapReduce。
只是MapReduce工具被认为是Hadoop,但是在HDFS + YARN上运行的任何其他工具(比如火花)都是非Hadoop。
发布于 2015-01-24 19:58:34
我同意您的印象,即"Hadoop“一词没有一个有用的定义。“我们有一个Hadoop集群”可能意味着各种各样的事情。
虽然在http://hadoop.apache.org/#What+Is+Apache+Hadoop%3F有一个官方的答案
Apache™Hadoop项目为可靠的、可扩展的分布式计算开发开放源代码软件。 Apache软件库是一个框架,允许使用简单的编程模型在计算机集群中对大型数据集进行分布式处理。
因此,"Hadoop“是一个项目和软件库的名称。任何其他用法都没有明确的定义。
发布于 2015-10-09 15:50:04
除了来自官方网站的Apache hadoop定义之外,我还想强调Hadoop是一个框架,Hadoop生态系统中有许多子系统。
引用官方网站的这一内容,这样以后的链接中断就不会给这个答案带来任何问题。
该项目包括以下模块:
Hadoop :支持其他Hadoop模块的通用实用程序。
(™):一种分布式文件系统,提供对应用程序数据的高吞吐量访问。
Hadoop纱线:作业调度和集群资源管理的框架。
Hadoop MapReduce:一种基于纱线的大数据集并行处理系统.
或多或少,
Hadoop =分布式存储+分布式处理(纱线+地图缩减)
但这四个模块并不涵盖完整的Hadoop生态系统。在Hadoop生态系统中有许多与Hadoop相关的项目和40+子系统。
Apache的其他与Hadoop相关的项目包括:
Ambari™:用于提供、管理和监视Apache集群的基于web的工具,包括对Hadoop、Hadoop MapReduce、Hive、HCatalog、HBase、ZooKeeper、Oozie、Pig和Sqoop的支持。
Avro™:一个数据序列化系统。
卡桑德拉™:一个可伸缩的多主数据库,没有单一的故障点.
Chukwa™:用于管理大型分布式系统的数据收集系统。
HBase™:支持大型表结构化数据存储的可伸缩分布式数据库。
Hive™:提供数据摘要和临时查询的数据仓库基础结构。
Mahout™:一个可扩展的机器学习和数据挖掘库。
猪™:一种用于并行计算的高级数据流语言和执行框架.
Spark™:一个用于Hadoop数据的快速通用计算引擎。Spark提供了一个简单而有表现力的编程模型,它支持广泛的应用程序,包括ETL、机器学习、流处理和图形计算。
Tez™:一个建立在Hadoop纱线上的通用数据流编程框架,它提供了一个强大而灵活的引擎来执行任意任务的DAG来处理批处理和交互用例的数据。Hadoop生态系统中的Hive™、Pig™和其他框架以及其他商业软件(如ETL工具)都采用了Tez,以取代Hadoop™™作为底层执行引擎。
动物园管理员™:一种用于分布式应用的高性能协调服务。
回到你的问题:
只需看看Hadoop系统中的40+子系统。您引用的每一件事都可能不是Hadoop,但大多数都与Hadoop有关。
是Hadoop生态系统的一部分。但既不能使用HDFS,也不能使用纱线。HDFS数据集可以用RDD (弹性分布式数据集)代替,并且可以在独立的模式下运行,而无需纱线。
看看这个文章和这个文章,用于Hadoop &火花的比较。
在Hadoop之上激发用例:
由于没有存储系统,所以它必须依赖于分布式存储,其中HDFS就是其中之一。
请看一下与SE有关的问题:
发布于 2015-01-28 10:38:04
对Hadoop最普遍接受的理解: HDFS和Map/Reduce及其相关的流程和工具。
相关术语: Hadoop生态系统: Hive/Pig/Hbase,动物园管理员,Oozie。也有特定供应商的,如黑斑羚,安巴里。
https://stackoverflow.com/questions/28129491
复制相似问题