HDFS数据备份方法
hdfs dfsadmin -allowSnapshot /path/to/dir),再执行创建命令(hdfs dfs -createSnapshot /path/to/dir snapshotName);查看快照用hdfs dfsadmin -listSnapshots /path/to/dir;恢复时通过hdfs dfs -cp /path/to/dir/.snapshot/snapshotName/ /path/to/restore命令将快照内容复制到目标路径。dfs.replication属性可调整副本数(如hdfs dfsadmin -setReplication /path/to/file 2修改为2)。当某节点故障时,系统会自动从其他副本节点复制数据,确保数据冗余和高可用。hdfs ec -createPolicy -policyName RS-3-2 -schema "3,2"),再将策略应用到目标目录(hdfs ec -setPolicy -path /path/to/dir -policyName RS-3-2)。hadoop distcp source_path destination_path(如hadoop distcp hdfs://namenode:9000/source_dir hdfs://backup-namenode:9000/backup_dir),增量备份可通过-update(更新已修改文件)或-diff(基于时间戳差异)选项实现。hdfs dfs -cp命令将数据复制到本地文件系统或其他存储介质(如hdfs dfs -cp /path/to/hdfs/data /local/backup/dir),或使用hdfs dfs -tar命令将数据打包成tar文件(如hdfs dfs -tar -cvf hdfs_backup.tar /path/to/hdfs/dir),再归档至长期存储介质(如磁带、云存储)。HDFS数据恢复方法
hdfs dfsadmin -listSnapshots /path/to/dir),然后执行复制命令(hdfs dfs -cp /path/to/dir/.snapshot/snapshotName/ /path/to/restore)。fs.trash.interval设置为非0值,如120分钟),删除的文件会暂存于回收站(路径为/user/username/.Trash/Current),不会立即永久删除。恢复时用hdfs dfs -cp /user/username/.Trash/Current/deleted_file /path/to/original/dir命令将文件从回收站复制回原路径。hdfs dfsadmin -report命令查看集群状态,确认数据块是否恢复(hdfs fsck / -files -blocks -locations检查数据块分布)。hadoop distcp hdfs://backup-namenode:9000/backup_dir hdfs://namenode:9000/recovered_dir),实现数据恢复。stop-dfs.sh),将Secondary NameNode的数据目录(如/path/to/secondary/namenode/data)复制到NameNode的数据目录(如/path/to/namenode/data),然后启动NameNode(start-dfs.sh)。hdfs dfs -put /local/recovered_file /path/to/hdfs/dir)。