在HBase中创建快照时,我收到一条错误,说明"快照' snapshot_name'没有在预期时间内完成:60000毫秒。
然而,当我然后列出我当前的快照时,我发现返回错误的快照实际上是在预期的时间内完成的。
如何将该快照与源表(我正在拍摄快照的表)进行比较,以验证它是否创建了源表的完整快照?
答案 0 :(得分:1)
错误意味着快照流程花费的时间比预期的要长,相关代码位于HbaseAdmin.snapshot
:
if (!done.getDone()) {
throw new SnapshotCreationException("Snapshot '" + snapshot.getName()
+ "' wasn't completed in expectedTime:" + max + " ms", snapshot);
}
但是请求被发送到服务器并且快照过程已经开始。如果要检查快照的说明,可以在webUI上查看,如:
http://your-hmaster:60010/snapshot.jsp?name=your-snapshot-name
如果要比较数据,可以先将快照克隆到另一个表,然后运行map-reduce作业进行比较。