2016-07-26 87 views
2

我们有一个hbase-0.94集群,其中hadoop-1.0.1。我们不希望有这种集群停机时间,同时升级到hbase-0.98hadoop-2.5.1如何将hbase表从hbase-0.94集群复制到hbase-0.98集群

我已经置备用Hadoop-2.5.1的另一个HBase的-0.98集群,要复制的HBase-0.94表,HBase的-0.98。 HbaseCopyTable似乎不适用于此目的。

请建议一种方法来执行上述任务。

回答

2

这些是可用选项,您可以从中选择。

  1. 您可以使用org.apache.hadoop.hbase.mapreduce.Export工具 导出表到HDFS,然后你可以用hadoop distcp将数据移动到另一个 集群。当数据放置在第二个群集上时,可以使用 org.apache.hadoop.hbase.mapreduce.Import工具导入表。 请看http://hbase.apache.org/book.html#export
  2. 第二个选项是我们CopyTable工具,请查看: http://hbase.apache.org/book.html#copytable 看一看pivotal

  3. 第三个选项是让HBase的快照,创建表 快照,然后用ExportSnapshot工具来移动它们到第二集群。当快照位于第二个群集上时,您可以从快照中克隆表。请看:http://hbase.apache.org/book.html#ops.snapshots

HBase的快照允许你把一个表的快照不会对地区服务器也 太大影响。快照,克隆和恢复操作 不涉及数据复制。此外,

我用的是1和3在我的情况下移动集群和我之间的数据3 是更好的解决方案导出快照到另一个 群集没有对地区服务器的影响。

Also, have a look at my answer posted

+0

你的建议是好的,但如果不同的群集安装Hadoop和基地的兼容版本,它才有效。在我的情况下,版本不兼容:hadoop-1.0.1到hadoop-2.5.1和hbase-0.94.1到hbase-0.98。我已经尝试过选项1和2,但它不起作用。 –

相关问题