HDFS 中的 block 默认保存3份,过多会导致磁盘利用率越低,通过RPC心跳机制来检测datanode状态。
1.namenode会将元数据信息存在namenode内存中,目的是供用户快速查询,此外,因为元数据非常重要,所以还会持久化到磁盘上,在磁盘哪个位置取决于在core-site.xml文件中dfs.tmp.dir属性来决定的,如果不配置,默认是/tmp,所以要配置。
2.那么namenode具体使用什么来存储元数据信息呢?使用edits文件个fsimage文件,edits文件用来记录HDFS的操作,fsimage用来保存系统某一时刻的状态(系统快照),这两个文件会定期合并,3.合并周期是一小时,即fsimage存储hdfs的元数据信息。这两个文件哪里查看呢?在hadoop安装目录下的tmp目录,进入dfs,进入name,再进入current目录就可以看到这两个文件。
4.格式化指令:hadoop namenode -format
该指令在初次使用hdfs时需要执行一次,但是这个命令会清空所有元数据。
5.SNN不仅是namenode的备用节点,还承担了namenode元数据文件的合并,通过这种机制,可以使SNN和namenode都具有元数据信息,当NN宕机后SNN可以接替工作,
SNN是1.0的机制,2.0已经不用了,
6.edits和fsimage文件在HDFS启动时加载一次,为了确保fsimage中数据更新。
7.手动合并edits和fsimage指令:hadoop dfsadmin -rollEdits,
8.HDFS启动时,每个datanode会向Namenode汇报
HDFS
最新推荐文章于 2022-09-29 12:38:23 发布