您的位置:首页 > 大数据 > Hadoop

HDFS的介绍

2016-01-13 21:31 387 查看
1、HDFS的6大特性

(1)分布式存储数据

(2)高并发访问

(3)高可靠性,安全性

(4)文件顺序访问

(5)数据块存储数据

(6)一次写入,多次读取简单的模型,HDFS一般不支持修改,但是支持追加

2、HDFS的工作的基本框架与几个重要的概念



NameNode的作用:

(1)主要是存储于管理整个分布式文件系统目录结构

(2)接收用户的请求,并且快速的响应

(3)记录文件对应的数据块

(4)记录数据块所在的DataNode地址

DataNode的作用:

(1)真正的存储数据,以块的形式存储数据。DataNode通过心跳机制,将自己块的信息告诉NameNode。

(2)与用户的应用程序进行数据交换

HDFS的整体的工作流程分为三个步骤:

(1)用户通过客户端向NameNode发起请求,发起索要访问的文件(主要使用Client协议)

(2)NameNode通过自己的目录结构,找到文件对应的数据块,然后在通过心跳机制,找到相应的DataNode的地址,返回给客户端(使用DataNode协议)

(3)客户端与DataNode进行实际的数据传输,传输结束后,会向NameNode发送消息。(使用RPC协议)

数据块大小的选择:

我们一般选择64M,128M,

如果数据块太大,则在文件进行传输的时候,如果失败,就会造成时间的浪费

如果数据块太小,则NameNode中会记录大量的元数据信息,造成NameNode的瓶颈。

3、HDFS的可靠性的设计

主要使用数据块多个副本的,这样有以下几个好处:

(1)在数据块读取的时候,可以充分利用带宽,加快文件的传输

(2)在文件写入到HDFS是,多个数据块,可以保证数据块的准确性

(3)如果DataNode节点失效,则数据不会失效

什么样的机制保证HDFS的靠靠性的呢?

(1)每次系统启动的时候,都会进入安全模式,如果每个数据块没有达到系统的要求,则进行副本的复制,然后离开安全模式

(2)使用SecondaryNameNode,主要当客户端进行文件上传或者修改的时候,该组件负责文件镜像和日志文件的记录,降低NameNode的压力,同时也相当于

给NameNode做一个副本

(3)心跳机制

保证DataNode在失效的时候,NameNode可以知道,然后做相应块的复制

(4)租约机制

当一个用户写一个数据块的时候,NameNode会发放一个写的租约,这样保证不会多个用户向一个文件中写数据

4、用户从HDFS写数据与读数据的过程

读过程:









内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: