加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Hadoop的核心技术研究或分析

发布时间:2021-07-27 09:42:24 所属栏目:大数据 来源:互联网
导读:引言 最知名的云计算开源系统Hadoop模仿和实现了Google云计算的主要功能。随着云计算的逐渐流行,这一项目被越来越多的个人和企业所运用。HDFS、MapReduce和HBas

    最知名的云计算开源系统Hadoop模仿和实现了Google云计算的主要功能。随着云计算的逐渐流行,这一项目被越来越多的个人和企业所运用。HDFS、MapReduce和HBase为Hadoop的核心,它们对应了Google云计算最核心技术GFS、MapRe-duce和Bigtable的开源实现。

 

 

    主节点包括NameNode、SecondaryNameNode和Jobtracker守护进程(即所谓的主守护进程),其余是为演示管理集群所用的节点(使用Hadoop实用程序和浏览器)。从节点包括DataNode和Tasktracker(从属守护进程)。两种设置的不同之处在于:主节点包括提供Hadoop集群管理和协调的守护进程,而从节点包括实现Hadoop文件系统。

 

 

    目前此项目正在进行中,虽然现在还没有到达1.0版本,和Google系统还有很大差距,但是前景非常好,值得关注。

 

 

    1 HDFS

 

 

    当一个数据集容量超过一个独立物理机的存储能力时,把数据集通过大量的机器进行分布是十分必要的。文件系统称做分布式文件系统,它跨网络进行存储管理。因为是基于网络的,所以会带来很多复杂的网络编程问题。这使得分布式文件系统比起常规的文件系统要复杂得多。例如,其中一个重要的挑战就是文件系统容忍节点错误的同时不丢失数据。

 

 

    Hadoop有一个称为HDFS (Hadoop distributedfilesystem)的分布式文件系统,它是Hadoop的期间文件系统。

 

 

    1.1设计前提与目标

 

 

    HDFS的设计前提与目标如下:

 

 

    (1)硬件错误可能经常出现,其属于常态并非异常。HDFS允许硬件出故障,HDFS的最核心设计目标就是错误检测并快速自动恢复。

 

 

    (2)流式数据访问。流式读为主HDFS上的应用的主要处理方式。支持批量处理,高吞吐量是数据访问的关注重点。

 

 

    (3)超大规模数据集。TB级或者PB级是HDFS的一般企业级的文件规模。HDFS支持大文件存储,提高数据传输带宽。单一的HDFS实例可以支撑数以千万计的文件,而且可以在一个集群中扩展到几百个节点。

 

 

    (4)简单一致性模型。对文件实行一次性写、多次读的访问模式,是HDFS的应用程序常用的处理方式。文件建立之后,数据写入完成之后就不再做更改。解决了数据一致性问题,吞吐量问题也得以解决。

 

 

    (5)移动计算比移动数据更简单。移动数据比移动计算在大文件上来的代价更高。操作海量数据的时候效果愈加明显,这样可以提高系统的吞吐量和减少网络的拥塞。

 

 

    (6)异构软硬件平台间的可移植性。可移植性使得HDFS可以作为适应性很强的大规模数据应用平台。

 

 

[page]    1.2体系结构

 

 

    HDFS是一个管理者一工作者结构的体系。HDFS集群由一个NameNode(管理者)和一些DataNode(工作者)组成。NameNode管理文件系统的元数据,DataNode存储实际的数据。客户端通过NameNode和DataNode交互访问这个文件系统。客户端联系NameNode以获取文件的元数据,而真正的文件I/O操作是直接和DataNode进行交互的。

 

 

    NameNode维护文件系统树和这个树中所有的文件和目录。NameNode也记录着每个文件的每个DataNode块所在的位置,然而,它并不永久性地存储块的位置信息。因为在系统重启时,这些信息会由DataNode重新建立。

 

 

    DataNode是分布式文件系统的工作者,负责它们所在的物理节点上的存储管理。这些节点在客户端或者NameNode需要时起到存储和检索的作用,并且把它们存储的块的信息通过块清单的方式周期性地回馈给NameNode。

 

 

    图一是HDFS的结构示意图。例如客户端要访问一个文件,客户端从NameNode获得组成文件的数据块的位置列表,也就是要知道数据块被存储在哪些DataNode上;然后,客户端直接从DataNode上读取文件数据。NameNode不参与文件的传输。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读