分布式文件系统HDFS

HDFS即HadoopDistributed File System (Hadoop分布式文件系统),Hadoop实现一个分布式文件系统(HDFS),HDFS有着高容错性的特点,并且用来设计部署在廉价的硬件上。它提供高吞吐量来访问数据,适合那些大量数据的应用程序。HDFS可以以流的形式访问文件系统中的数据。
      HDFS具有高容错性,并且可以被部署在低价的硬件设备之上。HDFS很适合那些有大数据集的应用,并且提供了对数据读写的高吞吐率。HDFS是一个master/slave的结构,就通常的部署来说,在master上只运行一个Namenode,而在每一个slave上运行一个Datanode。

 HDFS支持传统的层次文件组织结构,同现有的一些文件系统在操作上很类似,比如你可以创建和删除一个文件,把一个文件从一个目录移到另一个目录,重命名等等操作。Namenode管理着整个分布式文件系统,对文件系统的操作(如建立、删除文件和文件夹)都是通过Namenode来控制。

HDFS系统架构中有三个重要角色:Namenode、Datanode、Client。

NameNode进行文件系统元数据的管理,他提供管理和控制服务。HDFS的主结点,提供名字服务,管理文件系统。

DataNode提供数据块存储和查询服务。HDFS的从节点,提供块存储服务。

在HDFS文件系统里有一个NameNode进程,它是关键模块,如果它出现问题会引起整个系统的瘫痪。Hadoop核心提供NameNOde的恢复和备份的功能,但是没有运行时恢复功能。一个集群有多个DataNode进程,通常情况下,集群中的每个存储节点有一个DataNode进程。

Client就是需要获取分布式文件系统文件的应用程序。

Namenode,Datanode,Client之间的通信都是建立在TCP/IP的基础之上的。当Client要执行一个写入的操作的时候,命令不是马上就发送到Namenode,Client首先在本机上临时文件夹中缓存这些数据,当临时文件夹中的数据块达到了设定的Block的值(默认是64M)时,Client便会通知Namenode,Namenode便响应Client的RPC请求,将文件名插入文件系统层次中并且在Datanode中找到一块存放该数据的block,同时将该Datanode及对应的数据块信息告诉Client,Clients将这些本地临时文件夹中的数据块写入指定的数据节点。








































































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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值