HBase数据恢复在CentOS的系统化方案
hbase shell status,若返回“2 live servers”则表示集群正常。/var/log/hbase/或/hbase/logs/,文件名为hbase-<username>-master-<hostname>.log、hbase-<username>-regionserver-<hostname>.log),重点关注ERROR或WARN级别的日志,定位故障原因(如HMaster宕机、RegionServer崩溃、数据文件损坏、配置错误等)。/var/lib/hbase或/hbase/data),命令为sudo cp -r /var/lib/hbase /var/lib/hbase_backup(CentOS系统目录可能不同)。echo stat | nc <zookeeper_host> 2181),确保多数节点正常;sudo systemctl restart hbase-master(若使用systemd)或/usr/lib/hbase/bin/start-hbase.sh(若使用脚本)。sudo systemctl restart hbase-regionserver或/usr/lib/hbase/bin/start-hbase.sh;hbase shell status 'simple',确认RegionServer已加入集群。hbck工具检测数据一致性:/hbase/bin/hbck,若存在不一致会列出具体Region或表;/hbase/bin/hbck -repair,工具会自动修复可修复的问题(如缺失的Region、不一致的元数据)。hbase-site.xml中关键配置(如hbase.rootdir、hbase.zookeeper.quorum)修改错误。/etc/hbase/conf/hbase-site.xml),修正错误配置(如将hbase.rootdir改为正确的HDFS路径hdfs://namenode:9000/hbase);stop-hbase.sh(停止集群)、start-hbase.sh(启动集群)。HBase提供了内置的备份与恢复命令,适用于有定期备份的场景:
hbase backup create命令创建全量或增量备份,例如hbase backup create 'my_backup'(my_backup为备份名称)。hbase backup list命令查看所有备份记录,确认备份是否存在。hbase backup restore命令恢复指定备份,例如hbase backup restore 'my_backup',恢复后HBase会自动重载数据。若自动恢复失败,可采用手动替换数据目录的方式:
sudo systemctl stop hbase-master、sudo systemctl stop hbase-regionserver。sudo rm -rf /var/lib/hbase),将备份的数据目录复制到原路径(sudo mv /path/to/backup/hbase /var/lib/hbase)。hbase)对数据目录有读写权限,命令为sudo chown -R hbase:hbase /var/lib/hbase。sudo systemctl start hbase-master、sudo systemctl start hbase-regionserver,等待集群启动完成。create_snapshot 'table_name', 'snapshot_name'(如create_snapshot 'user_table', 'user_snapshot_202508')。hadoop fs -get hdfs://namenode:9000/hbase/data/default/.archive/snapshot_name /var/lib/hbase/data/default);restore_snapshot 'snapshot_name'恢复表数据。hbase org.apache.hadoop.hbase.wal.WALManager -files -logs,确认所需日志文件存在;hadoop fs -get hdfs://namenode:9000/hbase/data/hbase/.logs/WALs/master_node/00000000000000000001.wal /var/lib/hbase/logs);hbase shell status命令确认集群状态为“RUNNING”,所有RegionServer均已在线。hbase shell scan 'user_table' LIMIT 10),确认数据是否恢复至预期状态。hbase shell命令(如hbase shell top)或第三方监控工具(如Prometheus+Grafana),监控集群的Region负载、内存使用、磁盘IO等指标,及时调整配置(如增大Region大小、增加RegionServer节点)。hbase backup命令或第三方工具(如Hadoop DistCp)备份数据至异地存储。