nameNode故障宕机,如何挽救一些数据??恢复后的数据与之前的数据有哪些差别???
答:将secondyNameNode节点中的数据拷贝至namanode节点上,这样就可以恢复在上一个edits和fsimage的内容了,
实例操作:一般情况下,namenode 和secondynamenode是不会同时运行在同一台物理机的,都是分开在2台服务器上,这样就可以避免2中故障的发生
1、当一台机器的磁盘是物理损坏的时候,可以使用secondynamenode这台机器上的保存数据,恢复部分数据,
2、当一台机器的磁盘是物理损坏的时候,由于namenode和secondynamenode的原数据的存储会占用大量的内存,这样会对有限的服务器硬件资源使用完,所以会将namenode和secondynamenode部署在不同的机器上
实操:
将secondynamenode找到缓存数据,
找到参数hadoop.tmp.dir的路径(系统默认在tmp目录)
/opt/app/hadoop/tmp
[root@JD tmp]# cd //opt/app/hadoop/tmp
[root@JD tmp]# cd dfs/
[root@JD dfs]# ls
data name namesecondary
[root@JD dfs]# cp -raf namesecondary/* name/*
首先jps,
停掉所有的进程
将secondynamenode目录里面的文件全部拷贝到name的目录即可,由于我这边是虚拟机,将secondynamenode和namenode安装在了同一台机器(不要这样,资金有限)