when I try to backup and  restore the cube's hbase table as the following
familiar commands:

1, sudo -uhbase hbase org.apache.hadoop.hbase.mapreduce.Export tmember
/backup/projects/channel/tmember

2, hadoop fs -copyToLocal -crc /backup/projects/channel/tmember
/home/olap/scripts/cluster_mgr/test/tmember

3, sudo -uhbase hadoop fs -rm -r /backup/projects/channel/tmember

4, in hbase shell, disable table and drop table tmemeber

5, sudo -uhbase hadoop fs -copyFromLocal
/home/olap/scripts/cluster_mgr/test/tmember /backup/projects/channel/tmember

6, sudo -uhbase hbase org.apache.hadoop.hbase.mapreduce.Import tmember
/backup/projects/channel/tmember

the first 5 steps work OK, when step 6, it always throws error like the
following, no more information in hbase log

2015-04-02 17:57:52,358 INFO  [main] mapreduce.Job: Task Id :
attempt_1427547972456_0190_m_000000_0, Status : FAILED
Error: org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException:
Failed 2 actions: tmember: 2 times,
        at
org.apache.hadoop.hbase.client.AsyncProcess$BatchErrors.makeException(AsyncProcess.java:192)
        at
org.apache.hadoop.hbase.client.AsyncProcess$BatchErrors.access$500(AsyncProcess.java:176)
        at
org.apache.hadoop.hbase.client.AsyncProcess.getErrors(AsyncProcess.java:913)
        at
org.apache.hadoop.hbase.client.HTable.backgroundFlushCommits(HTable.java:985)
        at
org.apache.hadoop.hbase.client.HTable.flushCommits(HTable.java:1281)
        at org.apache.hadoop.hbase.client.HTable.close(HTable.java:1318)
        at
org.apache.hadoop.hbase.mapreduce.TableOutputFormat$TableRecordWriter.close(TableOutputFormat.java:112)
        at
org.apache.hadoop.mapred.MapTask$NewDirectOutputCollector.close(MapTask.java:667)
        at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:790)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
        at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:415)
        at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1642)
        at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)




finally, I found that if I create a empty hbase table named tmember first
before step 6, then step 6 works successfully,  however, how can we create
such a empty table or how to know the "create table" statement just like
"show create table" in mysql?

Reply via email to