标签:hadoop hdfs namenode 分布式文件系统 存储
是整个文件系统的管理节点。
它维护着整个文件系统的文件目录树[为了使得检索速度更快,该目录树放在内存中],
文件/目录的元信息和每个文件对应的数据块列表。
接收用户的操作请求。
Hadoop确保了NameNode的健壮性,不容易死亡.文件目录树以及文件/目录的元信息等归根到底是存放在硬盘中的,但是在Hadoop运行时,需要将其加载到内存中.
文件包括:
fsimage:元数据镜像文件。存储某一时段NameNode内存元数据信息。
edits:操作日志文件。
fstime:保存最近一次checkpoint的时间
以上这些文件是保存在linux的文件系统中。
1.查看hdfs-default.xml文件内容
<property> <name>dfs.name.dir</name> <value>${hadoop.tmp.dir}/dfs/name</value> <description>Determines where on the local filesystem the DFS name node should store the name table(fsimage:文件系统镜像)(指定了NameNode在本机中存储name table的位置).其中${hadoop.tmp.dir}会被替换为core-site.xml文件中的一个值,见下, If this is a comma-delimited list of directories then the name table is replicated in all of the directories, for redundancy.为了数据安全,可以将该值写为一个以逗号分隔的目录列表,指定fsimage的多个存储位置,保证安全,如${hadoop.tmp.dir}/dfs/name,newdir0,newdir1 但并不是在此处进行修改,一定是copy到hdfs-site.xml文件中,并且逗号前后不要加空格,其中这些文件夹越分散越好 </description> </property>
2.进入core-site.xml
<property> <name>hadoop.tmp.dir</name> <value>/tmp/hadoop-${user.name}</value> <description>A base for other temporary directories.</description> </property>
3.返回hdfs-default.xml文件
<property> <name>dfs.name.edits.dir</name> <value>${dfs.name.dir}</value> <description>Determines where on the local filesystem the DFS name node should store the transaction (edits) file(事务文件,用于保存上传文件事务过程(事务)的文件),具体执行过程请参照Secondary NameNode. If this is a comma-delimited list of directories then the transaction file is replicated in all of the directories, for redundancy. Default value is same as dfs.name.dir </description> </property>
执行过程:从NameNode上下载元数据信息(fsimage,edits),然后把二者合并,生成新的fsimage,在本地保存,并将其推送到NameNode,同时重置NameNode的edits.
一旦NameNode中的fsimage数据丢失或损坏,则可以调用SecondaryName中的fsimage备份来恢复,但是这些数据文件并不包含还未合并的.功能类似于Windows下的还原点.
SecondaryNameNode默认在安装在NameNode节点上,但这样不安全!
合并原理:
Hadoop学习笔记_6_分布式文件系统HDFS --NameNode体系结构,布布扣,bubuko.com
Hadoop学习笔记_6_分布式文件系统HDFS --NameNode体系结构
标签:hadoop hdfs namenode 分布式文件系统 存储
原文地址:http://blog.csdn.net/zjf280441589/article/details/38441007