Namenode的故障恢复

Namenode元数据信息多目录配置

为了保证元数据的安全性,我们一般都是先确定好我们的磁盘挂载目录,将元数据的磁盘做RAID1
Namenode的本地目录可以配置成多个,且每个目录存放内容相同,增加了可靠性。

具体配置如下:

文件名:hdfs-site.xml
Namenode的故障恢复_第1张图片


	dfs.namenode.name.dir
	
		file:///export/servers/Hadoop-2.6.0-cdh5.14.0/HadoopDatas/namenodeDatas
	

Namenode故障恢复

secondaryNamenode对namenode当中的fsimage和edits进行合并时,
每次都会先将namenode的fsimage与edits文件拷贝一份过来,
所以fsimage与edits文件在secondarNamendoe当中也会保存有一份,
如果namenode的fsimage与edits文件损坏,
那么我们可以将secondaryNamenode当中的fsimage与edits拷贝过去给namenode继续使用,
只不过有可能会丢失一部分数据。这里涉及到几个配置选项

namenode保存fsimage的配置路径

	
            dfs.namenode.name.dir
            file:///export/servers/Hadoop-2.6.0-cdh5.14.0/HadoopDatas/namenodeDatas
    

namenode保存edits文件的配置路径

	
            dfs.namenode.edits.dir
            file:///export/servers/Hadoop-2.6.0-cdh5.14.0/HadoopDatas/dfs/nn/edits
    

secondaryNamenode保存fsimage文件的配置路径

	 
            dfs.namenode.checkpoint.dir
            file:///export/servers/Hadoop-2.6.0-cdh5.14.0/HadoopDatas/dfs/snn/name
     

secondaryNamenode保存edits文件的配置路径

	
            dfs.namenode.checkpoint.edits.dir
            file:///export/servers/Hadoop-2.6.0-cdh5.14.0/HadoopDatas/dfs/nn/snn/edits
    

故障恢复步骤

第一步:杀死namenode进程

使用jps查看namenode进程号,然后直接使用kill -9 进程号杀死namenode进程
jps

[root@wcl001 hadoop-2.6.0-cdh5.14.0]# jps
3776 NodeManager
4120 Jps
3224 NameNode
3674 ResourceManager
3484 SecondaryNameNode
3325 DataNode
[root@wcl001 hadoop-2.6.0-cdh5.14.0]# kill -9 3224

第二步:删除namenode的fsimage与edits文件

namenode所在机器执行以下命令,删除fsimage与edits文件
删除fsimage与edits文件

rm -rf /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/namenodeDatas/*
rm -rf /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/edits/*

第三步:拷贝secondaryNamenode的fsimage与edits文件到namenode的fsimage与edits文件夹下面去

将secondaryNameNode所在机器的fsimage与edits文件拷贝到
namenode所在的fsimage与	edits文件夹下面去
------------------------------------------------------------------------------------------------------------------------
由于我的secondaryNameNode与namenode安装在同一台机器,
都在node01上面,node01执行以下命令进行拷贝
------------------------------------------------------------------------------------------------------------------------
cp -r /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/snn/name/* /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/namenodeDatas/
------------------------------------------------------------------------------------------------------------------------
cp -r /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/snn/edits/* /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/edits

第四步:启动namenode

node01服务器执行以下命令启动namenode
cd hadoop-2.6.0-cdh5.14.0/
sbin/hadoop-daemon.sh start namenode

第五步:浏览器页面正常访问

http://node01:50070/explorer.html#/

你可能感兴趣的:(大数据,hadoop,hdfs,错误)