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?