Namenode的故障恢复

本文详细介绍了Hadoop中Namenode的元数据多目录配置方法,以增强系统的可靠性和安全性。同时,提供了Namenode故障恢复的具体步骤,包括如何通过SecondaryNamenode恢复fsimage和edits文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Namenode元数据信息多目录配置

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

具体配置如下:

文件名:hdfs-site.xml
在这里插入图片描述

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

Namenode故障恢复

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

namenode保存fsimage的配置路径

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

namenode保存edits文件的配置路径

	<property>
            <name>dfs.namenode.edits.dir</name>
            <value>file:///export/servers/Hadoop-2.6.0-cdh5.14.0/HadoopDatas/dfs/nn/edits</value>
    </property>

secondaryNamenode保存fsimage文件的配置路径

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

secondaryNamenode保存edits文件的配置路径

	<property>
            <name>dfs.namenode.checkpoint.edits.dir</name>
            <value>file:///export/servers/Hadoop-2.6.0-cdh5.14.0/HadoopDatas/dfs/nn/snn/edits</value>
    </property>

故障恢复步骤

第一步:杀死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#/
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值