我们在前面四节课,简单的介绍了hadoop及hdfs文件系统,所讲的内容如下图:
在上图中,我们有没有涉及到的知识,如:hdfs安全模式等,需要大家自行上网查找一下相关的知识点。
最后,通过第一阶段的学习,我们最基本的应该掌握以下内容,请大家动手试一试:
-
基本的hdfs命令练习。
-
自主完成hdfs文件删除操作
-
自主完成hdfs文件重命名操作
补充知识点:
1、NameNode和SecondaryNameNode功能剖析
1. namenode与secondaryName解析
-
NameNode主要负责集群当中的元数据信息管理,而且元数据信息需要经常随机访问,因为元数据信息必须高效的检索
-
元数据信息保存在哪里能够==快速检索==呢?
-
如何保证元数据的持久==安全==呢?
-
-
为了保证元数据信息的快速检索,那么我们就必须将元数据存==放在内存==当中,因为在内存当中元数据信息能够最快速的检索,那么随着元数据信息的增多(每个block块大概占用150字节的元数据信息),内存的消耗也会越来越多。(还记得第二节课中我们讲到, 为什么我们不能通过修改配置文件,来让HDFS适用于存储小文件吗,就是因为大量的小文件,每个小文件都会有元数据信息,内存的消耗与管理的文件性价比不高。 )
-
如果所有的元数据信息都存放内存,服务器断电,内存当中所有数据都消失,为了保证元数据的==安全持久==,元数据信息必须做可靠的持久化,在hadoop当中为了持久化存储元数据信息,将所有的元数据信息保存在了FSImage文件当中,那么FSImage随着时间推移,必然越来越膨胀,FSImage的操作变得越来越难,为了解决元数据信息的增删改,hadoop当中还引入了元数据操作日志edits文件,edits文件记录了客户端操作元数据的信息,随着时间的推移,edits信息也会越来越大,为了解决edits文件膨胀的问题,hadoop当中引入了secondaryNamenode来专门做fsimage与edits文件的合并。