大数据概述

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

1、NameNode:是hdfs的主服务器,管理文件系统的目录树以及对集群中存储文件的访问,保存有metadate,不断读取记录集群中dataNode主机状况和工作状态。

2、SecondaryNameNode:NameNode的冷备,负责周期性的合并esimage以及editslog,将少NameNode的工作量。

3、DataNode:负责管理各个存储节点,每个存储数据的节点都有一个datanode守护进程。

4、DFSZKFailoverController:负责监控NameNode的状态,并及时把信息状态写入zk,通过一个独立的线程周期性的调用Namenode上的一个特定接口来获取NameNode的健康状态,也有选择谁为Active的权利,但是最多只能有两个namenode,所以选择策略为先到先得。

5、QuorumPeerMain:zookeeper主进程

6、JournalNode:高可用情况下用于存放namenode的editlog文件(元数据),也是多节点高可用。

7、Fsimage:元数据镜像文件(文件系统的目录树)。

8、Edits:元数据的操作日志(针对文件系统做的修改操作记录。

9、editsLog:修改日志,当文件系统客户端client进行写操作的时候,我们就要把着条记录放在修改日志中,之后namenode修改内存中的数据结构,每次写操作执行之前,editsLog都会同步到文件系统中。

大数据概述

 

 

 

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

Spark 把中间数据放到内存中,迭代运算效率高。MapReduce 中计算结果需要落地,保存到磁盘上,这样势必会影响整体速度,而 Spark 支持 DAG 图的分布式并行计算的编程框架,减少了迭代过程中数据的落地,提高了处理效率。(延迟加载) 其次,Spark 容错性高。Spark 引进了弹性分布式数据集 RDD (Resilient DistributedDataset) 的抽象,它是分布在一组节点中的只读对象集合,这些集合是弹性的,如果数据集一部分丢失,则可以根据“血统”(即允许基于数据衍生过程)对它们进行重建。另外在RDD 计算时可以通过 CheckPoint 来实现容错。 最后,Spark 更加通用。mapreduce 只提供了 Map 和 Reduce 两种操作,Spark 提供的数据集操作类型有很多,大致分为:Transformations 和 Actions 两大类。Transformations包括 Map、Filter、FlatMap、Sample、GroupByKey、ReduceByKey、Union、Join、Cogroup、MapValues、Sort 等多种操作类型,同时还提供 Count, Actions 包括 Collect、Reduce、Lookup 和 Save 等操作。

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

Hadoop主要是提供HDFS分布式数据存储功能,在这之外还提供了叫做MapReduce的数据处理功能。所以我们完全可以抛开Spark,使用Hadoop自身的MapReduce来完成数据的处理。 Spark也不是非要依附于Hadoop才能生存。但是Spark没有提供文件管理存储系统,所以,它必须和其他的分布式文件系统进行集成才能运作。我们可以选择Hadoop的HDFS,也可以选择其他的基于云的数据系统平台。大部分情况下Spark还是使用的Hadoop的HDFS文件系统。

上一篇:最详细的JVM&GC讲解


下一篇:maltab-图像拼接(左右两幅图)