1.大数据概述

1.列举Hadoop生态的各个组件及其功能、以及各个组件之间的相互关系,以图呈现并加以文字描述。

(1)HDFS——分布式文件系统  

Hadoop分布式文件系统HDFS是针对谷歌分布式文件系统(Google File System,GFS)的开源实现,它是Hadoop两大核心组成部分之一,提供了在廉价服务器集群中进行大规模分布式文件存储的能力。HDFS有着高容错性的特点,并且设计用来部署在低廉的硬件上。

 

(2)MapReduce——分布式计算框架

MapReduce 是一种分布式并行编程模型,用于大规模数据集(大于1TB)的并行运算,它将复杂的、运行于大规模集群上的并行计算过程高度抽象到两个函数:Map和Reduce。

MapReduce极大方便了分布式编程工作,编程人员在不会分布式并行编程的情况下,也可以很容易将自己的程序运行在分布式系统上,完成海量数据集的计算。

 

(3)YARN——资源管理器

YARN 的目标就是实现“一个集群多个框架”,即在一个集群上部署一个统一的资源调度管理框架YARN,在YARN之上可以部署其他各种计算框架,比如MapReduce、Tez、Storm、Giraph、Spark、OpenMPI等,由YARN为这些计算框架提供统一的资源调度管理服务,并且能够根据各种计算框架的负载需求,调整各自占用的资源,实现集群资源共享和资源弹性收缩。

 

(4)HBase——分布式列存数据库

HBase 是一个高可靠、高性能、面向列、可伸缩的分布式数据库,主要用来存储非结构化和半结构化的松散数据。HBase可以支持超大规模数据存储,它可以通过水平扩展的方式,利用廉价计算机集群处理由超过10亿行元素和数百万列元素组成的数据表

 

(5)Hive——仓库数据软件

Hive是一个基于Hadoop的数据仓库工具,可以用于对存储在Hadoop文件中的数据集进行数据整理、特殊查询和分析处理。

 

(6)zookeeper——分布式协作服务

解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等。

 

(7)flume——日志收集工具

Flume 是 一个高可用的、高可靠的、分布式的海量日志采集、聚合和传输系统。Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接收方的能力。

 

2.对比Hadoop与Spark的优缺点。

Hadoop优点

1、高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。

2、高扩展性:能在廉价机器组成的集群间分配任务数据,可方便的扩展数以干计的节点。

3、高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。

4、容错性:能够自动将失败的任务重新分配。

 Hadoop缺点

1、不适合低延时数据访问

2、无法高效的对大量小文件进行存储。

3、不支持并发写入、文件随机修改。

Spark优点

1、快:与 Hadoop 的 MapReduce 相比,Spark 基于内存的运算要快 100 倍以上,基于硬盘的运算也要快 10 倍以上。

2、易用:Spark 支持 Java、Python 和 Scala 和 R 的 API,还支持超过 80 种高级算法,使用户可以快速构建不同的应用。

3、兼容性:Spark可以非常方便地与其他的开源产品进行融合。

Spark缺点

1、不稳定,集群偶尔会挂掉。因为是基于内存运算的,因为确实与磁盘的I/O,如果数据量超出内存会出现挂掉的现象。

2、数据的partition,会导致集群中的各台机器上计算任务分配不均匀。

3、自身任务调度功能不够好。

 

3.如何实现Hadoop与Spark的统一部署?

由于Hadoop生态系统中的一些组件所实现的功能,目前还是无法由Spark取代的,比如,Storm。现有的Hadoop组件开发的应用,完全转移到Spark上需要一定的成本不同的计算框架统一运行在YARN中,可以带来如下好处:

1、计算资源按需伸缩。

2、不用负载应用混搭,集群利用率高·共享底层存储,避免数据跨集群迁移。

posted @ 2022-03-01 15:23  yong权  阅读(64)  评论(0编辑  收藏  举报