我拥有一个存储超过10TB数据的Hbase群集,现在我必须将这些数据迁移到新群集中,我该怎么做?
我知道Hbase备份有完全关闭备份(Distcp)和Live Cluster Backup(复制,导出和CopyTable)。
在我的情况下,我们不能容忍我们的Hbase群集定期完全关闭,我知道复制无法复制历史数据,这意味着我们可以只使用Export或CopyTable?
我有两个问题:
1.我们应该使用Export或CopyTable还是其他人?为什么呢?
2.如果我们使用Export或CopyTable,由于群集已启动,因此在复制过程中可能会错过编辑,如何避免编辑?
答案 0 :(得分:1)
<强> CopyTable 强>
CopyTable将直接将数据写入现有的HBase表。这可以在同一群集或远程群集中完成。 两个集群都应该在线,以便完成这项工作。
导出强>
导出用于将HBase表的数据导出到HDFS文件夹中的普通序列文件。创建一个MapReduce作业,该作业将调用HBase集群从指定的表中获取数据并将其写入HDFS文件夹。
我希望您使用copytable而不是导出,因为MR作业需要时间。
参考:Dzone HBase
答案 1 :(得分:0)
给定两个集群ClusterA,ClusterB,tablex需要迁移。
将tablex从CLuster A迁移到Cluster B.
进行。