从Hbase 0.90.4到Hbase 0.94.6的复制表不工作

从Hbase 0.90.4到Hbase 0.94.6的复制表不工作,hbase,Hbase,我正在尝试使用以下命令将表从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.JobClie

我正在尝试使用以下命令将表从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
13/09/04 21:52:12信息映射。作业客户端:正在运行的作业:作业\u 201305141438\u 0003
13/09/04 21:52:13信息映射。作业客户端:映射0%减少0%
13/09/04 21:52:21 INFO mapred.JobClient:任务Id:尝试\u 201305141438\u 0003\u m\u000002\u 0,状态:失败
java.lang.IllegalArgumentException:不是主机:端口对:?7805@hbase10.dc.yyy.nethbase10.dc.yyy.net,60020,1378354913021
位于org.apache.hadoop.hbase.HServerAddress。(HServerAddress.java:60)
位于org.apache.hadoop.hbase.zookeeper.RootRegionTracker.dataToHServerAddress(RootRegionTracker.java:82)
位于org.apache.hadoop.hbase.zookeeper.RootRegionTracker.waitRootRegionLocation(RootRegionTracker.java:73)
位于org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:786)
位于org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:766)
位于org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionMeta(HConnectionManager.java:895)
位于org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:797)
位于org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManag

我在新的目标系统hbase01到hbase10中有10台主机。脚本会自动选择1台主机,但我不确定为什么它尝试使用类似“hbase10.dc.yyy.nethbase10.dc.yyy.net”的内容,这在我看来是错误的。

是的复制表需要能够连接到两个群集。它们需要与RPC兼容

  • 0.90->0.90
  • 0.92->0.92,0.94
  • 0.94->0.92,0.94
  • 0.96->0.96
也许可以使用导出/导入来完成您所需的工作