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安裝在了同一臺機器(不要這樣,資金有限)