《Hadoop管理四》从Secondary Namenode恢复Namenode
介绍如何从Secondary Namenode的checkpoint点恢复Namenode,对于以后理解从Checkpoint Node 和Backup Node恢复很有帮助。
在core-site.xml的配置文件中,设置了checkpoint的时间间隔、大小限制和存储位置。
<property> <name>fs.checkpoint.dir</name> <value>${hadoop.tmp.dir}/dfs/namesecondary</value> <description>Determines where on the local filesystem the DFS secondary name node should store the temporary images to merge. If this is a comma-delimited list of directories then the image is replicated in all of the directories for redundancy. </description> </property> <property> <name>fs.checkpoint.period</name> <value>3600</value> <description>The number of seconds between two periodic checkpoints. </description> </property> <property> <name>fs.checkpoint.size</name> <value>67108864</value> <description>The size of the current edit log (in bytes) that triggers a periodic checkpoint even if the fs.checkpoint.period hasn't expired. </description> </property>
如果在规定时间内没有edits 大小没有达到上限,则Hadoop会强制执行checkpoint过程,如果没有达到时间间隔但是edits大小已经达到上限,则也会强制执行checkpoint过程。
恢复过程如下:
1. 将dfs.name.dir所指向的文件夹下的内容全部删掉。 rm -rf *
2. 将Secondary Namenode节点上core-site.xml配置文件中fs.checkpoint.dir指定路径下的文件到Namenode节点上core-site.xml配置文件中fs.checkpoint.dir指定的路径下
3. 执行 bin/hadoop namenode –importCheckpoint(需要较长的时间,需要加载到内存中)
4. 执行 bin/hadoop fsck /
5. 删除Namenode节点的namesecondary目录下的文件
6. 启动Namenode守护进程。bin/hadoop-daemon.sh start namenode
7. 执行balancer。 bin/hadoop balancer