美文网首页
2.Hadoop-HDFS简介

2.Hadoop-HDFS简介

作者: 河北漂 | 来源:发表于2018-01-09 14:13 被阅读0次

HDFS(The Hadoop Distributed File System)是Hadoop的可以运行在普通硬件上的分布式文件系统。

1.HDFS特点

1.1 高容错率

HDFS把硬件故障看做常态,来做设计。增加数据副本,冗余存储,利用集群的优势,使数据高可用。集群本身也有错误检测和快速、自动的恢复机制。

1.2 流式数据访问

HDFS是建立在一次写多次读的模式的概念之上的,HDFS存储的数据集作为hadoop的分析对象。在数据集生成后,长时间在此数据集上进行各种分析。每次分析都将设计该数据集的大部分数据甚至全部数据,因此使用场景大多是,读取整个数据集。流式读取最小化了硬盘的寻址开销,只需要寻址一次,然后就一直读。对于大文件的特点也更适合流式读取。

与流数据访问对应的是随机数据访问,它要求定位、查询或修改数据的延迟较小,比较适合于创建数据后再多次读写的情况,如传统的关系型数据库。

1.3 适合超大数据集
1.4 移动计算比移动数据更经济

把与计算相关的逻辑,尽量晚的执行。每个节点计算完成以后,再移动数据汇总,而不是把数据汇总之后再进行计算。样就能降低网络阻塞的影响,提高系统数据的吞吐量。

2.Namenode 和 Datanode

HDFS采用master/slave架构。一个HDFS集群是由一个Namenode和多个的Datanode组成。顾名思义,Namenode是集群的中心服务器,负责管理集群,以及存储元数据,Datanode就是真正存储数据的节点。

Namenode作为集群的中心服务器,主要存储两个东西:
1)所有数据的命名空间(Namespace Image),包括文件名,副本数,文件路径等
2)用户对数据的操作日志(edit log)

Datanode会以的形式,存储数据。负责处理Client的读写数据的请求,并周期性发送心跳信号和块状态报告(Blockreport)到Namenode。

hdfsarchitecture.png
2.1 Namenode的单点问题

Namenode是整个分布式文件系统的一个单点故障(single point of failure),一旦故障,整个分布式文件系统就无法使用了,因为无法从blocks中重构出相应的文件了。所以确保Namenode能从失败中及时恢复是很重要的一件事。

应对故障一般有两种做法:

2.1.1 备份Namenode中保存的永久信息

保存多份数据,最常用的做法是把永久信息保存到本地文件系统和某个远程NFS(Network FileSystem)上去。这些多写操作是同步和原子性的,因为Namenode上都是源数据,写少读多,每次保存的量比较小,消耗一些写的性能,来保证集群的健壮,还是值得的。

2.1.2 运行一个Secondary Namenode

它最主要的工作就是把namespace image检查点文件与edit log相融合(以防止edit log过大)并把融合后的namespace image保存在自己的本地文件系统上,同时发送这个新的备份给namenode。

SecondaryNamenode.png

由于secondary namenode上保存的状态信息总是要滞后于namenode上的状态信息的缘故(未融合的edit log记录了这一部分改变),如果namenode完全失败,数据肯定要丢失一部分。

最保险最常用的方式,是把上述两种方法结合起来,也即当namenode故障时,把远端NFS上的namespace image拷贝到secondary namenode上,然后把secondary namenode当做namenode来运行。

2.2 DataNode的数据存储和读取

HDFS把文件转化为另一种数据格式,并以Block的形式,分散存储在每一个DataNode上。
其中Block的默认大小是128M,HDFS为了保证数据的安全,会把同一份Block复制多份副本,分别存储在不同的DataNode上,默认是3个副本。

下面是HDFS写入数据的过程:

writeBlocks.png

下面是HDFS读取数据的过程:


readBlocks.png

3.结尾

HDFS是Hadoop的主要功能之一,Hadoop的所有计算,都是基于HDFS的存储结构之上的。所以要先梳理好HDFS的基本结构。

相关文章

  • 2.Hadoop-HDFS简介

    HDFS(The Hadoop Distributed File System)是Hadoop的可以运行在普通硬件...

  • 18旅游二班各组自我简介汇总

    一组简介 二组简介 三组简介 四组简介 五组简介 六组简介 七组简介 八组简介

  • 简介

    上辈子,洛幽喜欢了东凡一辈子,没有结果,之后她死了,她不后悔,只是为什么她一睁眼,嗯?捏了捏自己的脸,她这是回到了...

  • 简介

    1.主动地去阅读。 2.阅读目的:获得资讯,获得理解 前者为了增进资讯,获得信息,不能增加理解力。后者为了理解更多...

  • 简介

    姓名:赵金星 电话:13903984903 坐标:河南三门峡市陕州区。 三个标签的自我介绍: 1.时间管理践行者 ...

  • 简介

    朱凝不过打错个字,便被天打雷劈回古代。 为毛别人穿个废柴嫡女,她穿个废柴庶女?地位更低了哎 哇喔,别人嫁王爷,她嫁...

  • 简介

    凌波网络考试系统,是一套运行于Windows系统之上的无纸化网络考试软件。包括试卷编辑、分发试卷、学生答卷、自动阅...

  • 简介

    名字:笨小孩 不是富二代的笨小孩为了生活选择了编程。在大多数人眼里可能感觉编程是很无聊很辛苦经常加班的事情,其实人...

  • 简介

    A Native Client web application consists of JavaScript, H...

  • 简介

    选择django作为毕设项目,和日后工作内容。故在简单得做了一个blog和毕设系统之间,想深入了解django,会...

网友评论

      本文标题:2.Hadoop-HDFS简介

      本文链接:https://www.haomeiwen.com/subject/ueptgxtx.html