hadoop学习笔记(四):HDFS文件权限,安全模式,以及整体注意点总结

本文原创,转载注明作者和原文链接!

一:总结注意点:

hadoop学习笔记(四):HDFS文件权限,安全模式,以及整体注意点总结

到现在为止学习到的角色:三个NameNode、SecondaryNameNode、DataNode

    1.存储的是每一个文件分割存储之后的元数据信息。具体的信息有:

    2.而且NameNode的存储是内存存储的,不会有和磁盘的数据交换的过程,这样的话提高了整体的集群的效率,但是这个数据都是需要持久化的,因为不持久化的话,数据是不安全的,加假如哪一天hadoop集群中的NameNode那台服务器挂了的话,里面的元数据如果只是存储在内存中的就全部的丢失了,这样会导致所有的DataNode中的块数据都会报废掉,因为都不知道哪个结点的那个块是属于原始存储的哪个文件了,所以nameNode中会有一个元数据持久化的过程。

具体的持久化过程:在集群format也就是搭建的过程中,会产生一个fsimage,之后在启动集群之后,会根据客户端的指令,产生一个edits log文件,之后集群系统会有机制去限制edits log文件的大小,不超过某个可以我们规定的大小,每天HDFSClient客户端发送指令的时候,edits log日志文件都会记录,直到达到系统中的checkpoint点,NameNode会将edits log文件和fsimage交给SecondaryNameNode去将两者有效的结合,之后回交给NameNode,NameNode会将之前拥有的那个edits log文件删除掉,当产生第二主节点返回结合体之后,会将之前的fsimage替换掉,这就是一次edits log文件和fsimage结合的过程,具体的可以看结合过程 另一篇博文hadoop学习笔记(一):NameNade持久化和DataNode概

    3.只要是已经存储到HDFS分布式文件存储系统中的数据块之后,就不能改变大小了,因为如果改变其中某个文件分割成的某块数据的话,其他的副本都要变,这样就会无形之中给集群添加很多压力。

    4.具体的文件块的大小:对于同一个源数据来说的话,他所分割的各个块的大小都必须是一样的,但是对于不同的源文件的之间的话,分割存储时候分割成的块的大小可以是不一样的

    5.DataNode   中具体存储的源文件的block数据块,就是在服务器中的文件目录中存储的,并没有涉及到内存存储的问题

    6.DataNode也会存储一部分元数据信息:如每一个数据块都会有一个md5  信息,用于每次下载数据块的时候去和上传的时候存储的那个MD5码进行比较,来判断这块数据块是不是还是完整的,如果上传的时候的MD5和下载的时候的MD5码是一样的,则就认为是可用的块。

    7.具体的数据块需要多少个副本,这个可以根据这个块的使用量去定,如果这个块的访问量高的话,可以多存储副本,相反可以少存储副本,但是一本默认的副本的数量是3块

    8.hadoop这个集群,都计算的框架向文件的存储位置进行移动的,而不是文件想计算框架移动,因为前者的资源消耗更低

    9.在集权运行的过程中,NameNode和DataNode是时刻保持着心跳的联系的,DataNode会隔多长时间向主结点汇报自己身上存储的块的状态信息,以保证客户端访问主结点的时候,主结点能够正确的告诉客户端你要找的数据在哪太dataNode结点之上。

    10.安全模式:指的即时fsimage和edits log文件的对于NameNode状态恢复机制

二、HDFS文件权限的分配问题

hadoop学习笔记(四):HDFS文件权限,安全模式,以及整体注意点总结

其中的POSIX标准和window‘linux系统的那种文件的权限策略差不多,但是还是有区别的,因为HDFS是文件系统,而后面的window和linux是操作系统,

具体的hdfs的权限:当访问HDFS的时候,有什么权限的人访问,就会赋予这个人在HDFS系统中什么样的操作权限。

三 、安全模式

hadoop学习笔记(四):HDFS文件权限,安全模式,以及整体注意点总结

上一篇:[IPA]IOS In App Purchase(内购)验证


下一篇:在EXCEL中如何让一列数字变成文本格式?就是想让单元格的左上角变一个绿绿的?