以下是在CentOS上进行HDFS备份与恢复的配置方法:
hdfs dfsadmin
命令创建和恢复快照,如hdfs dfsadmin -allowSnapshot /path
和hdfs dfs -createSnapshot /path snapshotName
。也可使用distcp
工具进行全量或增量备份,命令为hadoop distcp [OPTIONS] source_path destination_path
。rsync
命令将HDFS数据同步到本地,如rsync -avz hdfs://namenode:port/ /path/to/backup/
。还能使用tar
命令打包备份,hdfs dfs -tar -cvf hdfs_backup.tar /path/to/backup/
。/etc/hadoop/conf
目录下的配置文件打包备份,可使用命令tar -czvf hdfs-config-$(date +%Y%m%d%H%M%S).tar.gz /etc/hadoop/conf
,并设置cron
任务定期备份。distcp
备份,可再次运行distcp
命令从备份路径复制数据到原路径;若用快照备份,可通过hdfs dfs -cp /path/to/snapshotDir/. /path/to/destinationDir
恢复。core-site.xml
中启用了回收站,被删除文件会存放在用户.Trash/Current
目录下,使用hdfs dfs -cp /user/username/.Trash/Current/deleted_file /path/to/restore
恢复。cp /backup/hdfs-site.xml /etc/hadoop/hdfs-site.xml
,然后重启HDFS服务sbin/start-dfs.sh
。