社区编辑申请
注册/登录
Hadoop简介:Hadoop的应用场合及其核心设计
开发 架构 Hadoop
Hadoop相信大家应该有所了解,这里向大家介绍一下Hadoop简介中Hadoop的应用场合以及Hadoop框架中最核心的设计,欢迎大家一起来学习有关Hadoop方面的知识。

本节向大家描述一下Hadoop简介,主要包括Hadoop应用场合和Hadoop框架中最核心的设计等内容,相信通过本节的学习大家对Hadoop有全面的认识,让我们一起来了解一下Hadoop吧。

Hadoop简介

1.Hadoop的应用场合:

适合海量数据的分析,其实Google最早提出MapReduce也就是为了海量数据分析。同时HDFS最早是为了搜索引擎实现而开发的,后来才被用于分布式计算框架中。海量数据被分割于多个节点,然后由每一个节点并行计算,将得出的结果归并到输出。同时***阶段的输出又可以作为下一阶段计算的输入,因此可以想象到一个树状结构的分布式计算图,在不同阶段都有不同产出,同时并行和串行结合的计算也可以很好地在分布式集群的资源下得以高效的处理。

2.Hadoop框架中最核心的设计
Hadoop简介中Hadoop框架中最核心的设计就是:MapReduce和HDFS,MapReduce的思想是由Google的一篇论文所提及而被广为流传的,简单的一句话解释MapReduce就是“任务的分解与结果的汇总”。HDFS是Hadoop分布式文件系统(HadoopDistributedFileSystem)的缩写,为分布式计算存储提供了底层支持。

MapReduce:
名字上来看就大致可以看出个缘由,两个动词Map和Reduce,“Map(展开)”就是将一个任务分解成为多个任务,“Reduce”就是将分解后多任务处理的结果汇总起来,得出***的分析结果。这不是什么新思想,其实在前面提到的多线程,多任务的设计就可以找到这种思想的影子。不论是现实社会,还是在程序设计中,一项工作往往可以被拆分成为多个任务,任务之间的关系可以分为两种:一种是不相关的任务,可以并行执行;另一种是任务之间有相互的依赖,先后顺序不能够颠倒,这类任务是无法并行处理的。

上图就是MapReduce大致的结构图,在Map前还可能会对输入的数据有Split(分割)的过程,保证任务并行效率,在Map之后还会有Shuffle(混合)的过程,对于提高Reduce的效率以及减小数据传输的压力有很大的帮助。后面会具体提及这些部分的细节。
Hadoop简介中的HDFS的工作流程图:

整个流程图中有三个重要角色:NameNode、DataNode和Client。NameNode可以看作是分布式文件系统中的管理者,主要负责管理文件系统的命名空间、集群配置信息和存储块的复制等。NameNode会将文件系统的Meta-data存储在内存中,这些信息主要包括了文件信息、每一个文件对应的文件块的信息和每一个文件块在DataNode的信息等。DataNode是文件存储的基本单元,它将Block存储在本地文件系统中,保存了Block的Meta-data,同时周期性地将所有存在的Block信息发送给NameNode。Client就是需要获取分布式文件系统文件的应用程序。这里通过三个操作来说明他们之间的交互关系。

文件写入:
1.Client向NameNode发起文件写入的请求。
2.NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息。
3.Client将文件划分为多个Block,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。

文件读取:
1.Client向NameNode发起文件读取的请求。
2.NameNode返回文件存储的DataNode的信息。
3.Client读取文件信息。

文件Block复制:
1.NameNode发现部分文件的Block不符合最小复制数或者部分DataNode失效。
2.通知DataNode相互复制Block。
3.DataNode开始直接相互复制。
3.MapReduce和HDFS来看Hadoop的结构:

Hadoop结构示意图

在Hadoop的系统中,会有一台Master,主要负责NameNode的工作以及JobTracker的工作。JobTracker的主要职责就是启动、跟踪和调度各个Slave的任务执行。还会有多台Slave,每一台Slave通常具有DataNode的功能并负责TaskTracker的工作。TaskTracker根据应用要求来结合本地数据执行Map任务以及Reduce任务。本节关于Hadoop简介描述完毕,请关注本节其他相关报道。
 

【编辑推荐】

  1. Hadoop简介:HDFS和MapReduce的实现
  2. 术语汇编 Hadoop简介
  3. Hadoop文件系统如何快速安装?
  4. Hadoop集群搭建过程中相关环境配置详解
  5. Hadoop完全分布模式安装实现详解

 

 

责任编辑:佚名 来源: csdn.net
相关推荐

2010-06-04 10:01:26

Hadoop安装

2022-06-26 18:52:02

2022-03-14 09:46:10

Hadoop大数据

2012-09-19 14:09:20

Hadoop开源

2015-07-29 10:36:05

hadoop数据挖掘

2010-06-03 18:32:51

2010-06-07 10:39:40

Hadoop分布式文件

2016-11-14 10:00:29

hadooplinux大数据

2016-06-01 15:42:58

Hadoop数据管理分布式

2014-08-25 10:24:02

Hadoop技术

2016-11-11 20:33:53

Hadoop大数据云计算

2019-04-23 15:35:53

Hadoop大数据数据处理

2012-06-15 14:38:29

2012-07-03 16:56:12

2012-09-28 11:00:19

2016-12-20 18:21:29

Hadoop大数据面试

2019-05-13 08:20:33

Hadoop集群数据库

2018-10-09 15:00:43

Hadoop分布式架构

2015-08-03 15:48:42

2020-01-09 10:44:47

同话题下的热门内容

该不该将单体架构迁移到微服务?生成性对抗网络——数据生成的高级解决方案SpringBoot对Spring MVC都做了哪些事?(四)软件架构中的跨层缓存技术人生 | 如何设定业务目标SpringBoot:如何优雅地进行响应数据封装、异常处理?为什么策略梯度法在协作性MARL中如此高效?终于有人把灰度发布架构设计讲明白了

编辑推荐

终于有人把Elasticsearch原理讲透了!花了一个星期,我终于把RPC框架整明白了!拜托!面试不要再问我Spring Cloud底层原理陌陌基于K8s和Docker容器管理平台的架构实践收藏 | 第一次有人把“分布式事务”讲的这么简单明了
我收藏的内容
点赞
收藏

AISummit人工智能大会