在Debian上恢复HBase数据可参考以下方法:
-
利用快照恢复
- 停止HBase服务:
sudo service hbase stop - 从HDFS恢复快照文件:
hadoop fs -cp /path/to/snapshot /hbase/hdfs/storage - 启动HBase服务:
sudo service hbase start - 验证数据:
hbase shell中执行scan '表名'。
- 停止HBase服务:
-
通过WAL日志恢复
- 确保WAL日志完整,复制到HBase日志目录:
/var/lib/hbase/WALs/ - 重启HBase服务自动重放日志:
sudo service hbase restart。
- 确保WAL日志完整,复制到HBase日志目录:
-
手动恢复HFile文件
- 从备份或HDFS中找到丢失的HFile,移动到对应表目录:
sudo mv /path/to/hfile /hbase/data/default/表名/列族/ - 调整权限:
sudo chown -R hbase:hbase /hbase - 重启HBase服务。
- 从备份或HDFS中找到丢失的HFile,移动到对应表目录:
-
使用HBase备份工具
- 恢复全量/增量备份:
hbase backup restore '备份ID' - 需先创建备份:
hbase backup create '备份名'。
- 恢复全量/增量备份:
注意:操作前需确认备份与当前HBase版本兼容,建议在低峰期执行,避免影响线上服务。