关于hbase的数据迁移

【自取】最近整理的,有需要可以领取学习:

关于hbase的数据迁移

场景:

[En]

Scene:

一组自编的HBase集群A

[En]

A set of self-compiled Hbase cluster A

通过Cloudera平台自行搭建一套HBase集群B

[En]

A set of Hbase cluster B built by ourselves through cloudera platform

注:(我的两个集群位于同一网段)

[En]

Note: (my two clusters are on the same network segment)

方式1:通过快照方式进行数据迁移(不需要提前建表)

1):首先现在老集群A上进行快照制作(hbase命令行)

hbase> snapshot '要快照的表名tableA' , '快照名称snapA'

查看快照:list_snapshots

删除快照:delete_snapshot ‘快照名称snapA’

2):开始快照迁移(将集群A的快照迁移到集群B上)

bin/hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot 快照名称snapA -copy-to hdfs://newCluster:8082/hbase

3):登录新集群的hbase命令行,然后执行

restore_snapshot 'snapA'

但同时执行报告错误

[En]

But execute 3) report an error at the same time

Caused by: java.lang.IllegalArgumentException: A clone should not have regions to restore

我发现自己编译的快照与Cloudera平台的HBase不兼容。所以,这不是正确的方式。

[En]

I found that the snapshot compiled by myself is not compatible with the Hbase of the cloudera platform. So, this is not the right way.

方式2:在老集群A上通过bulkload写入新集群B上(需要提前建表,别忘记预分区)

1):在新集群B 提前将表创建好,例如:

create 'renter_info',{NAME =>'MM', COMPRESSION => 'SNAPPY'}, SPLITS => ['19999999', '33333332', '4ccccccb', '66666664' , '7ffffffd' , '99999996' , 'b333332f' , 'ccccccc8' , 'e6666661']

2):在老集群A 执行bulkload命令语句:

bin/hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles -Dcreate.table=no -DHbase.mapreduce.bulkload.max.hfiles.perRegion.perFamily=2014 hdfs://newCluster:8020/hbase/data/default/order_info

还是做不到!

[En]

Still can’t carry it out!

因此,上面的方法1和2实际上取决于集群版本是否兼容。

[En]

Therefore, methods 1 and 2 above actually depend on whether the cluster version is compatible or not.

方式3:hadoop distcp 方式

1):通过hadoop distcp将集群A中要迁移的表数据 通过分布式copy方式,copy到集群B

hadoop distcp hdfs://oldcluster:8020/hbase/data/default/order_info  hdfs://newCluster:8020/hbase/data/default/order_info

2):修复元数据

/opt/cloudera/parcels/CDH/lib/hbase/bin/hbase hbck -fixMeta

3):重启Hbase

解决它!

[En]

Solve it!

Original: https://www.cnblogs.com/niutao/articles/11218549.html
Author: niutao
Title: 关于hbase的数据迁移

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/6975/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

发表回复

登录后才能评论
免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部