0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

hadoop环境的基本概念和部署方法

汽车玩家 来源:今日头条 作者:不一样的程序猿 2020-03-15 17:14 次阅读

1概述

1.1目的

初步了解hadoop,初步掌握hadoop环境的部署方法。

1.2基本概念

hadoop的核心主要包含:HDFS和MapReduce

HDFS是分布式文件系统,用于分布式存储海量数据。

MapReduce是分布式数据处理模型,本质是并行处理

2基本概念

2.1HDFS

2.1.1HDFS是什么?

HADOOP DISTRIBUTED FILE SYSTEM,简称HDFS,是一个分布式文件系统。它是谷歌的GFS提出之后出现的另外一种文件系统。它有一定高度的容错性,而且提供了高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS 提供了一个高度容错性和高吞吐量的海量数据存储解决方案。

在最初,HADOOP是作为Apache Nutch搜索引擎项目的基础架构而开发的,后来由于它独有的特性,让它成为HADOOP CORE项目的一部分。

2.1.2HDFS的设计思路?

是什么提供它高吞吐量的数据访问和适合大规模数据集的应用的特性呢,这就要说一下它的设计思路。

首先HDFS的设计之初就是针对超大文件的存储的,小文件不会提高访问和存储速度,反而会降低;其次它采用了最高效的访问模式,也就是经常所说的流式数据访问,特点就是一次写入多次读取;再有就是它运行在普通的硬件之上的,即使硬件故障,也就通过容错来保证数据的高可用。

2.1.3HDFS的一些概念

Block:大文件的存储会被分割为多个block进行存储。默认为64MB,每一个blok会在多个datanode上存储多份副本,默认为3份。[这些设置都能够通过配置文件进行更改]

Namenode:主要负责存储一些metadata信息,主要包括文件目录、block和文件对应关系,以及block和datanote的对应关系

Datanode:负责存储数据,上面我们所说的高度的容错性大部分在datanode上实现的[还有一部分容错性是体现在namenode和secondname,还有jobtracker的容错等]。

2.1.4HDFS的基础架构图

hadoop环境的基本概念和部署方法

HDFS的基础架构图

2.1.5解析HDFS带来的好处

高吞吐量访问:HDFS的每个block分布在不同的rack上,在用户访问时,HDFS会计算使用最近和访问量最小的服务器给用户提供。由于block在不同的rack上都有备份,所以不再是单数据访问,所以速度和效率是非常快的。另外HDFS可以并行从服务器集群中读写,增加了文件读写的访问带宽。

高容错性:上面简单的介绍了一下高度容错。系统故障是不可避免的,如何做到故障之后的数据恢复和容错处理是至关重要的。HDFS通过多方面保证数据的可靠性,多分复制并且分布到物理位置的不同服务器上,数据校验功能、后台的连续自检数据一致性功能,都为高容错提供了可能。

容量扩充:因为HDFS的block信息存放到namenode上,文件的block分布到datanode上,当扩充的时候,仅仅添加datanode数量,系统可以在不停止服务的情况下做扩充,不需要人工干预。

2.2MapReduce

从它名字上来看就大致可以看出个缘由,两个动词Map和Reduce。

Map(展开)就是将一个任务分解成为多个任务,Reduce就是将分解后多任务处理的结果汇总起来,得出最后的分析结果。

2.2.1MapReduce原理

在Hadoop中,每个MapReduce任务都被初始化为一个Job,每个Job又可以分为两种阶段:map阶段和reduce阶段。这两个阶段分别用两个函数表示,即map函数和reduce函数。map函数接收一个形式的输入,然后同样产生一个形式的中间输出,Hadoop函数接收一个如形式的输入,然后对这个value集合进行处理,每个reduce产生0或1个输出,reduce的输出也是形式的。

2.2.2Map的过程

MapRunnable从input split中读取一个个的record,然后依次调用Mapper的map函数,将结果输出。map的输出并不是直接写入硬盘,而是将其写入缓存memory buffer。当buffer中数据的到达一定的大小,一个背景线程将数据开始写入硬盘。在写入硬盘之前,内存中的数据通过partitioner分成多个partition。在同一个partition中,背景线程会将数据按照key在内存中排序。每次从内存向硬盘flush数据,都生成一个新的spill文件。

当此task结束之前,所有的spill文件被合并为一个整的被partition的而且排好序的文件。reducer可以通过http协议请求map的输出文件,tracker.http.threads可以设置http服务线程数。

2.2.3Reduce的过程

当map task结束后,其通知TaskTracker,TaskTracker通知JobTracker。对于一个job,JobTracker知道TaskTracer和map输出的对应关系。reducer中一个线程周期性的向JobTracker请求map输出的位置,直到其取得了所有的map输出。reduce task需要其对应的partition的所有的map输出。reduce task中的copy过程即当每个map task结束的时候就开始拷贝输出,因为不同的map task完成时间不同。reduce task中有多个copy线程,可以并行拷贝map输出。当很多map输出拷贝到reduce task后,一个背景线程将其合并为一个大的排好序的文件。当所有的map输出都拷贝到reduce task后,进入sort过程,将所有的map输出合并为大的排好序的文件。最后进入reduce过程,调用reducer的reduce函数,处理排好序的输出的每个key,最后的结果写入HDFS。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Hadoop
    +关注

    关注

    1

    文章

    90

    浏览量

    15825
  • HDFS
    +关注

    关注

    1

    文章

    29

    浏览量

    9493
收藏 人收藏

    评论

    相关推荐

    接地装置的基本概念

    接地装置的基本概念
    的头像 发表于 12-05 15:49 261次阅读
    接地装置的<b class='flag-5'>基本概念</b>

    工程师必看!电路基本概念有哪些?

    工程师必看!电路基本概念有哪些?
    的头像 发表于 11-30 09:31 314次阅读
    工程师必看!电路<b class='flag-5'>基本概念</b>有哪些?

    MMU相关的基本概念

    1-MMU相关的基本概念 (1)虚拟地址相关基本概念 • 虚拟内存(Virtual Memory,VM):为每个进程提供了一致的、连续的、私有的内存空间,简化了内存管理。将主存看成是一个存储在磁盘
    的头像 发表于 11-26 16:11 354次阅读

    C语言的基本概念和编程技术

    电子发烧友网站提供《C语言的基本概念和编程技术.pdf》资料免费下载
    发表于 11-20 10:18 0次下载
    C语言的<b class='flag-5'>基本概念</b>和编程技术

    LED显示屏的几个最基本概念

    电子发烧友网站提供《LED显示屏的几个最基本概念.pdf》资料免费下载
    发表于 11-02 09:53 0次下载
    LED显示屏的几个最<b class='flag-5'>基本概念</b>

    OFDM的基本原理和PAPR的基本概念

    电子发烧友网站提供《OFDM的基本原理和PAPR的基本概念.pdf》资料免费下载
    发表于 10-25 09:57 0次下载
    OFDM的基本原理和PAPR的<b class='flag-5'>基本概念</b>

    天线的几个基本概念

    电子发烧友网站提供《天线的几个基本概念.ppt》资料免费下载
    发表于 10-07 16:17 0次下载
    天线的几个<b class='flag-5'>基本概念</b>

    SiC碳化硅的基本概念、制备方法、应用领域和发展趋势

    碳化硅(SiC)是一种宽禁带半导体材料,具有优异的物理、化学和电学性能,在高温、高频、高压等恶劣环境下具有很高的稳定性和可靠性。本文将对SiC碳化硅的基本概念、制备方法、应用领域和技术发展趋势进行简要介绍。
    发表于 09-12 17:25 795次阅读

    时序分析基本概念介绍—花一样的“模式”

    今天要介绍的时序基本概念是Mode(模式). 这是Multiple Scenario环境下Sign off的一个重要概念。芯片的设计模式包括最基本的功能function模式,以及各种各样相关的测试模式。
    的头像 发表于 07-10 17:21 1988次阅读
    时序分析<b class='flag-5'>基本概念</b>介绍—花一样的“模式”

    时序分析Slew/Transition基本概念介绍

    今天要介绍的时序分析基本概念是Slew,信号转换时间,也被称为transition time。
    的头像 发表于 07-05 14:50 1716次阅读
    时序分析Slew/Transition<b class='flag-5'>基本概念</b>介绍

    介绍时序分析的基本概念lookup table

    今天要介绍的时序分析基本概念是lookup table。中文全称时序查找表。
    的头像 发表于 07-03 14:30 764次阅读
    介绍时序分析的<b class='flag-5'>基本概念</b>lookup table

    线性度的基本概念(1dB压缩点,IP3,OP3)

    最近再次温故线性度的相关基本概念,收益匪浅,同时对失真进行深入的研究和学习,分享下心得。本文主要介绍下线性度的基本概念,包括1dB压缩点,IP3,OP3。
    的头像 发表于 07-03 11:29 2441次阅读
    线性度的<b class='flag-5'>基本概念</b>(1dB压缩点,IP3,OP3)

    静态时序分析的基本概念方法

    向量和动态仿真 。本文将介绍静态时序分析的基本概念方法,包括时序约束,时序路径,时序裕量,setup检查和hold检查等。 时序路径 同步电路设计中,时序是一个主要的考虑因素,它影响了电路的性能和功能。为了验证电路是否能在最
    的头像 发表于 06-28 09:38 807次阅读
    静态时序分析的<b class='flag-5'>基本概念</b>和<b class='flag-5'>方法</b>

    Linux内核实现内存管理的基本概念

    本文概述Linux内核实现内存管理的基本概念,在了解基本概念后,逐步展开介绍实现内存管理的相关技术,后面会分多篇进行介绍。
    发表于 06-23 11:56 523次阅读
    Linux内核实现内存管理的<b class='flag-5'>基本概念</b>

    德索讲解LVDS线束的基本概念

    德索精密工业工程师指出,线束(circuit group)为一定负载源组提供服务设备的总体,如中继线路、交换装置、控制系统等。话务理论的基本研究内容是研究话务量、呼损和线束容量三者之间的关系,因此线束是话务理论中一个重要的基本概念
    的头像 发表于 06-12 09:25 2755次阅读
    德索讲解LVDS线束的<b class='flag-5'>基本概念</b>