将hbase表的快照从一个命名空间克隆到另一个命名空间

ttvkxqim  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(547)

我使用的是hbase版本0.98。当我尝试使用snapshot克隆命名空间“sample1”中的hbase表时,它失败了。

hbase(main):003:0> snapshot 'sample1:deliverytable_m1' 'deliverytable_m1-Snapshot'

ERROR: wrong number of arguments (1 for 2)

Here is some help for this command:
Take a snapshot of specified table. Examples:

  hbase> snapshot 'sourceTable', 'snapshotName'
  hbase> snapshot 'namespace:sourceTable', 'snapshotName', {SKIP_FLUSH => true}

我想将快照克隆到另一个名称空间“sample2”中,如下所示。我想将“deliverytable\u m2”克隆到“sample2”命名空间中。怎么做?

clone_snapshot 'deliverytable_m1-Snapshot' 'sample2:deliverytable_m2'
hjzp0vay

hjzp0vay1#

你得到的第一个错误仅仅是因为你忘记了参数之间的逗号。应该是这样的:

hbase(main):039:0> snapshot 'sample1:deliverytable_m1', 'deliverytable_m1-Snapshot'

此时,您应该有一个快照,可以通过以下方式进行验证:

hbase(main):044:0> list_snapshots
SNAPSHOT                                                 TABLE + CREATION TIME
 deliverytable_m1-Snapshot                               sample1:deliverytable_m1 (Thu Sep 17 15:17:31 -0600 2015)
1 row(s) in 0.0110 seconds

=> ["deliverytable_m1-Snapshot"]

然后,假设命名空间存在,可以克隆快照:

hbase(main):045:0> clone_snapshot 'deliverytable_m1-Snapshot', 'sample2:deliverytable_m1'
yqlxgs2m

yqlxgs2m2#

是否确定该表位于sample1命名空间中?我希望您已经检查了列表\u名称空间\u表'sample1'。如果它是一个默认名称空间,则不必提及它

相关问题