HBase数据恢复在Debian上的策略
sudo systemctl stop hbase-mastersudo systemctl stop hbase-regionserver。/var/lib/hbase)和日志目录(默认路径为/var/log/hbase),防止恢复失败导致二次数据丢失。执行以下命令:sudo tar -czvf hbase_data_backup.tar.gz /var/lib/hbasesudo 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-mastersudo systemctl start hbase-regionserver。hbase shell → status。hbase shell → scan 'your_table_name'。