文档章节

Hadoop理论知识

ie四叶草
 ie四叶草
发布于 2017/08/15 15:41
字数 1713
阅读 11
收藏 0

1、hadoop的特点

hadoop的特点主要概括为四高:高可靠性、高扩展性、高效性、高容错性。
(1)高可靠性:集群中会产生各个节点的工作数据副本,当一个节点出现故障,能针对失败节点重新分布处理
(2)高扩展性:在可用的计算机集群中分配计算任务,可以方便的扩展到数以千计的节点规模
(3)高效性:能够在节点之间动态的移动数据,保证各个节点的动态平衡,处理速度非常快
(4)高容错性:能够自动保存数据的多个副本,并能自动将失败的任务重新分配

2、HDFS

HDFS的架构分析:
一个HDFS集群是有一个主节点和一定数目的数据节点(DataNode)组成,主节点主要负责管理文件系统的名字空间以及客户端
文件的访问,HDFS开放了文件系统的名称空间,用户能以文件的形式在上面存储数据,当数据被导入HDFS时,会生成数据备份,
数据被分成一个或多个数据块,分布式的存储在一组数据节点上。主节点负责元数据的存储和管理,执行文件系统的名字空间的
操作,比如打开,创建,删除文件或目录。它也负责确定数据块到具体数据节点的映射,数据节点负责处理文件系统客户端的
读写请求,在主节点的额统一调度下进行数据块的创建,删除和回复。

3、分布式计算MapReduce

(1)MapReduce概念:
    用户自定义的Map函数接收key-vlaue对,并产生中间结果的key—value对的集合,MapReduce库会将所有具有相同
中间key值I的中间value值集中在一起后传递给Reduce

    用户自定义的Reduce函数接收一个中间key值得I以及这个key相应的value值得集合,Reduce函数将这些
中间value合并到一起个较小的value值得集合。

    MapReduce框架是有一个单独的Master节点(运行JobTracker进程)和集群中多个salve行TaskTracker进程)
    共同组成,Master负责调度构成一个作业的所有任务,这些任务分布在不同的slave上。Master负责监控他们执行,以及
重新执行已经失败的任务,而slave仅负责执行由Master指派的任务。

(2)MapReduce运行过程:
1、用户程序中含有的MapReduce库将输入文件分成M个片段,一般每个数据片段的大小为16-64M,然后MapReduce库
将在集群中的主机中创建大量的程序副本。
2、这些程序副本中有一个特殊的程序JobTracker,其他程序副本都是TaskTracker。他们由master的JobTaskTracker分配任务,
分配给空闲的slave。
3、分配了Map任务的slave节点读取相的数据片段,从中解析中多个key-value对、然后把key-value 对传递给用户自定义的
Map 函数,由Map 函数生成并输出的中间key-value 对,并缓存在内存中。
4、缓存中的key-value 对通过分区函数分成R 个区域,之后周期性的写入到本地磁盘上。缓存的key-value 对在本地磁盘上
的存储位置将被回传给master,由master 负责把这些存储位置再传送给执行Reduce操作的Slave。
5、当执行Reduce 操作的Slave接收到master 程序发来的数据存储位置信息后,使用远程过程调用(RPC) 从执行Map的
Slave节点的磁盘上读取这些缓存数据。当执行Reduce 操作的Slave读取了所有的中间数据后,通过对key 进行排序后使得
具有相同key 值的数据聚合在一起。由于许多不同的key 值会映射到相同的Reduce 任务上,因此必须进行排序。
如果中间数据太大无法在内存中完成排序,那么就要在外部进行排序。
6、当执行Reduce 操作的Slave遍历排序后的中间数据,对于每一个唯一的中间key 值,将这个key 值和它相关的中间
value 值的集合传递给用户自定义的Reduce 函数。Reduce 函数的输出被追加到所属分区的输出文件。
7、当所有的Map 和Reduce 任务都完成之后,master 唤醒用户程序。在这个时候,在用户程序里的对Mduce调用才返回。

    在成功完成任务后,MapReduce的输出存放在R个输出文件中,(每一个Reduce任务输出一个文件),一般情况下,用户不需要
将R个输出文件合并到一个文件中。因为这些文件常常作为另一个MapReduce的输入,或者在另一个可以处理多个分割
文件的分布式系统中应用。
    计算节点和存储节点通常在一起,可以使集群的网络带宽得到有效的利用

3、MapReduce的容错
    master 周期性的ping 每个slave。如果在一个约定的时间范围内没有收到Slave返回的信息,master 将把这个Slave
标记为失效。所有由这个失效的Slave完成的Map 任务被重设为初始的空闲状态,之后这些任务就可以被安排给其他的Slave。
同样的,Slave 失效时正在运行的Map 或Reduce 任务也将被重新置为空闲状态,等待重新调度。
    当Slave故障时,由于已经完成的Map 任务的输出存储在这台机器上,Map 任务的输出已不可访问了,因此必须重新执行。
而已经完成的Reduce 任务的输出存储在全局文件系统上,因此不需要再次执行。当一个Map 任务首先被Slave A 执行,
之后由于Slave A 失效了又被调度到Slave B 执行,这个“重新执行”的动作会被通知给所有执行Reduce 任务的worker。
任何还没有从Slave A 读取数据的Reduce 任务将从Slave B 读取数据。

    当Master节点失效时,一个简单的解决办法是让Master周期性的将上面描述的数据结构写入磁盘,即检查点。
    如果这个Master任务失效了,可以从最后一个检查点开始启动另一个Master进程。然而,只有一个Master进程,
Master失效后再回复比较麻烦,解决办法是如果master 失效,就中止MapReduce 运算。客户可以检查到这个状态,
并且可以根据需要重新执行MapReduce 操作。

© 著作权归作者所有

下一篇: hive DDL和DML
ie四叶草
粉丝 1
博文 46
码字总数 25397
作品 0
郑州
私信 提问
零基础学习hadoop开发先明白这层关系

大数据hadoop无疑是当前互联网领域受关注热度最高的词之一,大数据技术的应用正在潜移默化中对我们的生活和工作产生巨大的改变。这种改变给我们的感觉是“水到渠成”,更为让人惊叹的是大数据...

左手的倒影
2018/08/29
21
0
Hadoop资源共享啦

Hadoop资源共享啦!上个暑假,将《Hadoop权威指南》认真看了一遍,看的是第二版。给我最深的体味就是这本书将理论讲得很深入全面、并将理论提 升到了实践,比如说,书中给出了很多处理气象暑假...

liunkor
2013/09/12
308
1
分布式(hadoop)内核研发面试指南

最近一直在看简历,面试同学,发现符合要求的很少。本文是同学们进入阿里云等公司的hadoop内核研发岗位的一个指引,需要具备哪些要求,如果不具备则可以往这方面努力。 如果 以下的问题不能很...

大数据之路
2013/02/24
541
0
公开课|一个小运维的《Golang 入门心路历程》

成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成。 视频版 公开课主要内容: 缘起 初识 熟悉 实践 爱上 缘起 本人之前是 hadoop hbase 运维,为了节约成本 hadoop client 都是多...

xjtuhit
2017/09/15
0
0
大数据学习贴(1)-环境搭建

最近开始准备系统的把自己所学过的大数据理论知识给落地实践,报了一个培训班。为了督促自己的实践学习,会将自己学习实践过程中的一些内容做一个总结。一方面梳理自己的理论知识,一方面加强...

bingyang87628
2017/08/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【2019年8月版本】OCP 071认证考试最新版本的考试原题-第5题

choose the best answer The CUSTOMERS table has a CUST_LAST_NAME column of data type VARCHAR2. The table has two rows whose COST_LAST_MANE values are Anderson and Ausson. Which q......

oschina_5359
34分钟前
3
0
电脑怎样制作流程图?分享绘制流程图方法

流程图的绘制可以用很多方法来实现,小编经常使用电脑对流程图进行绘制,即简单又便利,相信很多朋友都因为不知道怎样绘制流程图而选择了放弃,今天这篇文章希望可以让大家重拾绘制流程图的信...

干货趣分享
36分钟前
3
0
Elasticsearch 7.x 之文档、索引和 REST API 【基础入门篇】

前几天写过一篇《Elasticsearch 7.x 最详细安装及配置》,今天继续最新版基础入门内容。这一篇简单总结了 Elasticsearch 7.x 之文档、索引和 REST API。 什么是文档 文档Unique ID 文档元数据...

泥瓦匠BYSocket
39分钟前
4
0
TL665x-EasyEVM开发板处理器、flash、RAM

TL665x-EasyEVM是广州创龙基于SOM-TL665x核心板研发的一款TI C66x多核定点/浮点高性能DSP开发板,采用核心板+底板方式,底板尺寸为200mm*106.65mm,采用4*50pin和1*80pin B2B工业级连接器,稳...

Tronlong创龙
44分钟前
3
0
DevExpress Report-XRTable绑定数据

将从跳转前的页面(A)中获取传入的数据(dtOrd、BatchID、ModelID),绑定到Report报表对应的控件 ,代码如下: this.xrtBatchID.Text = sBatchID; this.xrtModel.Text ...

_Somuns
45分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部