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)备份数据至异地存储。