我正在开发一个在Hbase中拥有1TB数据的项目。为了备份目的,我读了一下快照。
hbase快照在群集上,我想导出到不同的群集,我正在
引起: org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(org.apache.hadoop.hbase.snapshot.CorruptedSnapshotException): org.apache.hadoop.hbase.snapshot.CorruptedSnapshotException:
那么我需要在导出中包含哪些其他文件?
是否可以在另一个集群中恢复快照,例如通过winscp将快照目录从一个集群移动到另一个集群?
答案 0 :(得分:0)
如果您收到CorruptedSnapshotException是由于这个原因来自文件系统的快照信息不是valid 。所以,请检查一下你的 出口命令是对的。
示例:强>
hbase class org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot snapshot30072017 -copy-to hdfs://127.0.0.1:9000/hbase -mappers 8 -bandwidth 100
请阅读Issue tracker。
上面的命令有八个映射作业,它们将运行以将所有快照导出到另一个具有100 MB / s限制带宽的集群。
注意:
org.apache.hadoop.hbase.snapshot.ExportSnapshot 工具复制与快照相关的所有数据( HFiles,日志和快照元数据< / em>)另一个群集。
快照详细信息可在此hdfs位置
下找到 /apps/hbase/data/.hbase-snapshot / (cloudera vm路径),请将这些文件复制到另一个群集
并使用'restore_snapshot 'snapshot_name''