Сбой восстановления моментального снимка Hbase: TableExistsException - PullRequest
0 голосов
/ 21 апреля 2020

Восстановление / клонирование завершается неудачно со следующим:

clone_snapshot 'my_snap', 'my_table'

ERROR: org.apache.hadoop.hbase.snapshot.RestoreSnapshotException: Couldn't clone the snapshot={ ss=my_snap table=my_table type=FLUSH } on table=my_table
    at org.apache.hadoop.hbase.master.snapshot.SnapshotManager.cloneSnapshot(SnapshotManager.java:693)
    at org.apache.hadoop.hbase.master.snapshot.SnapshotManager.restoreSnapshot(SnapshotManager.java:764)
    at org.apache.hadoop.hbase.master.MasterRpcServices.restoreSnapshot(MasterRpcServices.java:1274)
    at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:55716)
    at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2191)
    at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112)
    at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183)
    at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:163)
Caused by: org.apache.hadoop.hbase.TableExistsException: my_table
    at org.apache.hadoop.hbase.master.handler.CreateTableHandler.checkAndSetEnablingTable(CreateTableHandler.java:161)
    at org.apache.hadoop.hbase.master.handler.CreateTableHandler.prepare(CreateTableHandler.java:129)
    at org.apache.hadoop.hbase.master.snapshot.CloneSnapshotHandler.prepare(CloneSnapshotHandler.java:92)
    at org.apache.hadoop.hbase.master.snapshot.SnapshotManager.cloneSnapshot(SnapshotManager.java:685)
    ... 7 more

В противном случае таблица не существует для Hbase / HDFS

hbase(main):007:0> disable 'my_table'
ERROR: Table my_table does not exist.

hbase(main):008:0> drop 'my_table'
ERROR: Table my_table does not exist.

hbase(main):006:0> is_enabled 'my_table'
ERROR: Unknown table my_table!

Системные таблицы показывают в противном случае чистую установку:

hbase(main):002:0> scan 'hbase:meta'
ROW                                                                  COLUMN+CELL                                                                                                                                                                                            
 hbase:namespace,,1587169536827.05256bd9dfa93d08b96b1a1019118082.    column=info:regioninfo, timestamp=1587418869604, value={ENCODED => 05256bd9dfa93d08b96b1a1019118082, NAME => 'hbase:namespace,,1587169536827.05256bd9dfa93d08b96b1a1019118082.', STARTKEY => '', ENDKEY
                                                                      => ''}                                                                                                                                                                                                
 hbase:namespace,,1587169536827.05256bd9dfa93d08b96b1a1019118082.    column=info:seqnumDuringOpen, timestamp=1587418869604, value=\x00\x00\x00\x00\x00\x00\x00\x0E                                                                                                          
 hbase:namespace,,1587169536827.05256bd9dfa93d08b96b1a1019118082.    column=info:server, timestamp=1587418869604, value=my_server:60020                                                                                                       
 hbase:namespace,,1587169536827.05256bd9dfa93d08b96b1a1019118082.    column=info:serverstartcode, timestamp=1587418869604, value=1587418822093                                                                                                                              
1 row(s) in 0.2970 seconds

hbase(main):003:0> scan 'hbase:namespace'
ROW                                                                  COLUMN+CELL                                                                                                                                                                                            
 default                                                             column=info:d, timestamp=1587169538663, value=\x0A\x07default                                                                                                                                          
 hbase                                                               column=info:d, timestamp=1587169538693, value=\x0A\x05hbase                                                                                                                                            
2 row(s) in 0.0580 seconds

Как и ZK:

$ /usr/bin/zookeeper-client -server my_server:2181 ls /hbase/table
Connecting to my_server:2181
.... truncated for brevity ...    
WatchedEvent state:SyncConnected type:None path:null
[hbase:meta, hbase:namespace]

Кластер - это длинный существующий автономный кластер, недавно очищенный каталог HDFS Hbase (1.1) и перезапущенный все компоненты

Нет других потребителей, поражающих эту вещь.

1 Ответ

0 голосов
/ 21 апреля 2020

Это на самом деле было вызвано записью ZK

Оставшиеся записи ZK из какого-то старого кластера скрыли проблему (/ hbase vs / hbase_dr в моем случае) - будьте осторожны

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...