Linux系統里Hadoop可通過以下方式備份數據:
NameNode元數據備份
sudo -u hdfs hdfs dfsadmin -safemode enter
sudo -u hdfs hdfs dfsadmin -saveNamespace
sudo -u hdfs cp -r /dfs/nn/* /backup/path/
HDFS數據快照
hdfs dfsadmin -allowSnapshot /path/to/directory
hdfs dfs -createSnapshot /path/to/directory snapshot_name
hdfs dfs -revertSnapshot /path/to/directory snapshot_name
DistCp工具備份
hadoop distcp hdfs://source-path hdfs://backup-path
,支持全量/增量備份。文件系統工具備份
tar
打包備份:tar -czvf backup.tar.gz /path/to/data
rsync
增量備份:rsync -avz --delete /source/ /backup/
數據庫備份
mysqldump
或對應工具導出數據,如mysqldump -u root -p hive_db > hive_backup.sql
。自動化備份
cron
定時任務定期執行備份腳本,例如:0 0 * * * /path/to/hadoop/bin/hadoop distcp hdfs:///source hdfs:///backup >> /var/log/backup.log 2>&1
。注意:備份前確保集群正常運行,定期測試恢復流程,優先選擇對業務影響小的備份方式(如快照、增量備份)。