我试图使用以下命令将表从Hbase 0.90复制到Hbase 0.04:
$ hbase org.apache.hadoop.hbase.mapreduce.CopyTable --peer.adr=ZKHOST:2181:/hbase --starttime=1378252486000 --endtime=1378338886000 --new.name=my_table my_table 但我发现了一个错误:
13/09/04 21:52:12 INFO mapred.JobClient: Running job: job_201305141438_0003
13/09/04 21:52:13 INFO mapred.JobClient: map 0% reduce 0%
13/09/04 21:52:21 INFO mapred.JobClient: Task Id : attempt_201305141438_0003_m_000002_0, Status : FAILED
java.lang.IllegalArgumentException: Not a host:port pair: ?7805@hbase10.dc.yyy.nethbase10.dc.yyy.net,60020,1378354913021
at org.apache.hadoop.hbase.HServerAddress.<init>(HServerAddress.java:60)
at org.apache.hadoop.hbase.zookeeper.RootRegionTracker.dataToHServerAddress(RootRegionTracker.java:82)
at org.apache.hadoop.hbase.zookeeper.RootRegionTracker.waitRootRegionLocation(RootRegionTracker.java:73)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:786)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:766)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:895)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:797)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManag我在新的目标系统hbase01到hbase10中有10台主机。脚本自动选择1主机,但我不知道它为什么要使用‘host 10.dc.yyy.nethbase 10.dc.yy.net’,这在我看来是不对的。
发布于 2013-09-05 23:37:12
是的,复制表需要能够连接到两个集群。它们需要与RPC兼容。
也许可以用导出/导入来做你想要的事情?
https://stackoverflow.com/questions/18628151
复制相似问题