2016-07-26 86 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,但它不起作用。 –

相關問題