一、列举Hadoop生态的各个组件及其功能、以及各个组件之间的相互关系,以图呈现并加以文字描述。
组件1:HDFS,作用:分布式文件系统,存储是hadoop体系的基础。
组件2:MapReduce,作用:作为一种计算模型,用来大数据的计算。
组件3:Yarn,作用:改善MapReduce的缺陷,是另一种资源协调者,是Hadoop的资源管理器。
组件4:Sqoop,作用:传统数据库和Hadoop之间传输数据。
组件5:Mahout,作用:帮助开发人员更加方便快捷地创建智能应用程序。
组件6:Hive,作用:基于Hadoop的数据仓库,定义简单的SQL查询语言,可以用SQL进行数据查询。
组件7:Hbase,作用:针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。
组件8:Spark,作用:为大规模数据处理而设计的计算引擎。
组件9:Zookeeper,作用:主要解决分布式环境下的数据管理问题。
组件10:Storm,作用:是一个数据流处理系统。
二、对比Hadoop与Spark的优缺点。
Hadoop的优点
1、能够按位存储和并且有着处理数据能力的高可靠性。
2、利用计算机集群分配数据,存储,计算,具有高扩展性。
3、可以在节点之间进行动态地移动数据,并保证各个节点的动态平衡,处理速度非常快,具有高效性。
4、可以自动保存数据的多个副本,并且能够自动将失败的任务重新分配,具有高容错性。
Hadoop的缺点
1、不适用于低延迟数据访问。
2、不能高效存储大量小文件。
3、不支持多用户写入并任意修改文件。
Spark的优点
1、速度快,适合实时分析场景。
2、支持多种语言。
3、支持多种格式的数据来源。
4、可以在任何环境下搭建。
Spark的缺点
1、JVM的内存太大。
2、长时间运行会经常出错。
三、如何实现Hadoop与Spark的统一部署?
Hadoop生态系统中的一些组件所实现的功能,目前还是无法由Spark取代的,Storm可以实现毫秒级响应的流计算,但是,Spark则无法做到毫秒级响应,因此可以在Yarn上进行统一部署。
好文要顶 关注我 收藏该文