HDFS节点说明

 

HDFS节点说明

 

知识点说明:

 在hdfs当中,会讲文件以块为单位进行划分。

1,hdfs 的默认块大小是128M(hdfs2)

       hdfs1 中默认块的大小是64m

       块的大小可以自定义。

 2 ,块是如何占磁盘空间的?

先从头切128M的块,后面小于128按实际大小来存储。

3,在hdfs 中 dn节点主要干的事情是:储存所有的块信息。

    注意: 一台服务器只允许有一个dn

4,为了保证数据的完整性,那以在hdfs当中会采用副本机制来进行处理(hdfs副本是包含本身)

     副本之间是通过dn与dn之间的数据传输

5,当我们在获取一个文件的时候,只知道文件的名称,据他有哪些块用户是不知道的,所以就存在一个管理这些块信息的节点NN,NN也被称为主节点。

在默认的结构中,不管服务器有多少台,NN只有一个。

故障问题;

在实际生产的过程中,硬件出现故障的可能性是非常大的。

如果是dn挂掉了: NN会将挂掉的数据转移到其他主机中。

NN如何知道DN挂掉了: 是由DN定期向NN汇报信息,心跳机制

如果是NN挂掉?

那么集群将会是无法使用。

解决方案,多个NN协同运行的方式。

 

 

元数据: NN 保存的块信息,目录结构,权限

fsimage:是元数据的映射文件(存储在内存中)

如何产生fsimage文件: 

    1:DN会定期汇报块信息给NN(心跳信息,块信息)

    2:重启 

特殊是在重启的时候,因为fsimage文件不存在,所以需要向各个DN收集元数据信息。在收集的过程中,NN处于安全模式下(safe made)。暂时不能使用

edits:存储最近操作的记录。

snn:定期为NN合并fsimage和edits文件。

snn:如何进行合并。

  第一种:定时:snn在一定时间内会通知nn,说我们准备合并

  第二种;NN主动发起合并。

HDFS节点说明

步骤:NN会产生一个新的edits文件,此时snn 会拿到NN中的 edits 跟fsimage文件进行合并,合并完形成一个fsimage.ckpt文件,然后复制给NN,此时NN就会去掉edtis 跟 fsimage后缀,形成新的这两个文件。然后重复上述操作。