Namenode元数据信息多目录配置
为了保证元数据的安全性,我们一般都是先确定好我们的磁盘挂载目录,将元数据的磁盘做RAID1
Namenode的本地目录可以配置成多个,且每个目录存放内容相同,增加了可靠性。
具体配置如下:
文件名:hdfs-site.xml
Namenode故障恢复
secondaryNamenode对namenode当中的fsimage和edits进行合并时,
每次都会先将namenode的fsimage与edits文件拷贝一份过来,
所以fsimage与edits文件在secondarNamendoe当中也会保存有一份,
如果namenode的fsimage与edits文件损坏,
那么我们可以将secondaryNamenode当中的fsimage与edits拷贝过去给namenode继续使用,
只不过有可能会丢失一部分数据。这里涉及到几个配置选项
故障恢复步骤
第一步:杀死namenode进程
使用jps查看namenode进程号,然后直接使用kill -9 进程号杀死namenode进程
jps
127785 ResourceManager
17688 NameNode
127544 SecondaryNameNode
127418 DataNode
128365 JobHistoryServer
19036 Jps
127886 NodeManager
[root@node01 servers]# kill -9 17688
删除fsimage与edits文件
rm -rf /export/servers/hadoop2.6.0cdh5.14.0/hadoopDatas/namenodeDatas/
rm -rf /export/servers/hadoop2.6.0cdh5.14.0/hadoopDatas/dfs/nn/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
node01服务器执行以下命令启动namenode
cd hadoop-2.6.0-cdh5.14.0/
sbin/hadoop-daemon.sh start namenode
http://node01:50070/explorer.html#/