HBase數據恢復在Debian上的策略
sudo systemctl stop hbase-master
sudo systemctl stop hbase-regionserver
。/var/lib/hbase
)和日志目錄(默認路徑為/var/log/hbase
),防止恢復失敗導致二次數據丟失。執行以下命令:sudo tar -czvf hbase_data_backup.tar.gz /var/lib/hbase
sudo tar -czvf hbase_logs_backup.tar.gz /var/log/hbase
。tar -tzvf
查看備份內容),確保備份數據未損壞。若之前使用hbase org.apache.hadoop.hbase.mapreduce.Export
工具導出過數據,可通過以下步驟恢復:
hbase org.apache.hadoop.hbase.mapreduce.Import -Dmapreduce.job.queuename=default -Dimporttsv.separator=',' -Dimporttsv.columns="HBASE_ROW_KEY,cf1:col1,cf1:col2" /backup/path/your_export_file your_table_name
/backup/path/your_export_file
為導出的數據文件路徑,your_table_name
為目標表名。hbase shell
→ scan 'your_table_name'
。若之前為表創建過快照(HBase的輕量級備份方式,不影響服務),可通過以下步驟恢復:
hbase shell
→ list_snapshots
。hbase shell
→ restore_snapshot 'your_snapshot_name'
。scan
命令檢查表數據是否恢復。若之前手動備份了HBase數據目錄(如/var/lib/hbase
),可通過以下步驟覆蓋恢復:
sudo rm -rf /var/lib/hbase
。sudo tar -xzvf hbase_data_backup.tar.gz -C /
。hbase
)對數據目錄有讀寫權限:sudo chown -R hbase:hbase /var/lib/hbase
。sudo systemctl start hbase-master
sudo systemctl start hbase-regionserver
。hbase shell
→ status
。hbase shell
→ scan 'your_table_name'
。