(五)、HDFS 简介

HDFS 是一种分布式文件系统.

常见的分布式文件系统有, GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS、FastDFS等;
各自适用于不同的领域, 它们都不是系统级的分布式文件系统, 而是应用级的分布式文件存储服务.

什么是分布式文件系统?

数据量越来越多, 在一个操作系统管辖的范围存不下了, 那么就分配到更多的操作系统管理的磁盘中, 但是不方便管理和维护, 因此迫切需要一种系统来管理多台机器上的文件, 这就是分布式文件管理系统.

它是一种允许文件通过网络在多台主机上分享的文件系统, 可让多机器上的多用户分享文件和存储空间.

通透性. 让实际上是通过网络来访问文件的动作, 由程序与用户看来, 就像是访问本地的磁盘一般.

容错. 即使系统中有某些节点脱机, 整体来说系统仍然可以持续运作而不会有数据损失.

分布式文件管理系统很多, hdfs 只是其中一种. 适用于一次写入多次查询的情况, 不支持并发写情况, 不合适存储小文件.
一次写入即写入后无法更新, 只能删除重写, 2.0 好像支持追加内容.
不支持并发写并不是指不能同时存储多份文件, 而是指, 一份大文件被分成多个块时, 是一个块写满再写另一个块的, 不能同时写所有的块.
不合适存储小文件只限于 hadoop 1.0, 因为就算是很小的文件, 它也会分配一个块给它, 2.0 中对它进行了一些修改.

下面是一张 HDFS 的简单示图, 参考下:

HDFS

当 Client 需要存储一份文件的时候, 如 a.log (200M), Client 先和 HDFS 中的 NameNode 取得联系, NameNode 从自己的集群中找到一个可以存储的 DataNode 并告诉 Client, Clint 开始向指定的 DataNode 存储数据.
存储数据的时候, 会根据文件的大小分块存储(2.0 默认 128M), 当存储完一个块后, DataNode 会检查 NameNode 中设置的副本数量, 如果不止一份的话, 当前 DataNode 就会水平传递(pipline)块给其他的 DataNode, 然后再
申请另一个块, 继续存储剩余的文件内容…以此类推.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值