NameNode数据存储

烈酒焚心 提交于 2019-11-28 06:12:43

 HDFS架构图

 

 

 

 

 

HDFS原理

 

  1)  三大组件  

  NameNode、 DataNode 、SecondaryNameNode

 

  2)NameNode

    存储元数据(文件名、创建时间、大小、权限、文件与block块映射关系)

 

  3)DataNode

    存储真实的数据信息

 

  4)SecondaryNameNode

    合并edits日志文件和fsimage镜像文件进行合并

 

 

 

   

 

(1)dfs.namenode.name.dir  file://{$hadoop.tmp.dir}/dfs/name 

hadoop.tmp.dir      /tmp/hadoop-${user.name}

 

 

 多次格式化的问题:

 

hdfs格式化会改变VERSION文件中的clusterID, 首次格式化时datanode和namenode会产生相同的clusterID;

如果重新执行格式化,namenode的clusterID改变,就会愈datanode的cluseterID不一致,如果重启或者读写hdfs,就会挂掉

 

(2)dfs.datanode.data.dir  file://${hadoop.tmp.dir}/dfs/data

hadoop.tmp.dir      /tmp/hadoop-${user.name}

例:/tmp/hadoop-root/dfs目录下:

name、data、namesecondary

 

(3)dfs.namenode.checkpoint.dir  file://{hadoop.tmp.dir}/dfs/namesecondary

 

 

tmp/hadoop-${user.name}/dfs/name或者 tmp/hadoop-${user.name}/dfs/data下的datanode和namenode信息在系统

在重启时,会被清空处理。为了防止数据丢失,接下来我们更改路径存储,以namenode为例:

 

 

 

 配置hdfs信息如下:将namenode数据存储在data/name下面

 

 

 

 在执行格式化之前,查询data下的目录信息:

 

 

 

进行格式化:

hdfs namenode -format -force

格式化之后,在data/name/current下查看name信息

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!