Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.
1. sudo -u hdfs kinit -kt /var/lib/keytab/hdfs.keytab hdfs
2. block정보 백업
sudo -u hdfs hdfs fsck / -files -blocks -locations > nn_backup_20200205/dfs-old-fsck-1.log
3. namenode를 safemode로 전환
sudo -u hdfs hdfs dfsadmin -safemode enter
4. namespace저장
sudo -u hdfs hdfs dfsadmin -saveNamespace
5. namenode저장소의 데이터 백업
(dfs.namenode.name.dir 설정에 /data1/dfs/nn 형태의 namenode 데이터 저장소를 알수 있음)
sudo cp -r /data1/dfs/nn /home/hadoop/nn_backup_20200205/data1-dfs-nn
6. safemode 해제
sudo -u hdfs hdfs dfsadmin -safemode leave
* 복구방법
위에 백업해둔 데이터인 /home/hadoop/nn_backup_20200205/data1-dfs-nn를 그대로 /data1/dfs/nn에 복사해주고 namenode를 재시작 해주면 됨
* fsimage를 이용한 복구방법
가. VERSION과 fsimage파일을 원위치로 복사
cp /home/hadoop/nn_backup-20200205/fsimage-dir/fsimage_00000000000581155082 /data1/dfs/nn/current
나.해당 위치로 이동
cd /data1/dfs/nn/current
다. md5파일 생성
sudo -u hdfs md5sum fsimage_00000000000581155082 > fsimage_00000000000581155082.md5
라. namenode프로세스 재기동