程序笔记   发布时间:2022-07-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了hbase1向hbase2表迁移大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

hbase1版本向hbase2版本表数据迁移;

 

#这里使用hbase的 Snapshot功能实现

 

1、源集群 flush刷新内存数据到磁盘hbase> flush '7d8f7d560e9ef7d355bff43a60b0d226'7d8f7d560e9ef7d355bff43a60b0d226 来自于校验和,可以在hbase控制台中查看。注意,如果有多个region那么需要对每个region都执行,类似于图中:

hbase1向hbase2表迁移

 

  

hbase1向hbase2表迁移

  并且,如果条件允许,尽可能disable表;

 

2、源集群 ,创建表快照

hbase> snapshot  '表名', '快照名'      #创建命令

查看快照命令:list_snapshots删除快照命令:delete_snapshot

我这里是已经disable表了

hbase1向hbase2表迁移

 

 将快照目录和表目录导出到主机本地:

hbase1向hbase2表迁移

 

3、传输数据到目标集群

这里采取通过手动方式(distcp,scp,hdfs dfs -cp)直接把源hbase目录下的快照目录和数据目录拷贝到目标集群;

集群间通的话,也可以使用MR任务去传输; 

 

把源集群的快照目录和表目录scp到目标集群的主机上:

scp -r app_precision_marketing.label_precision_marketing_user_internal_little root@172.xx.xx.xx:/tmp/

scp -r snapshot_app_precision_marketing.label_precision_marketing_user_internal_little root@172.xx.xx.xx:/tmp/

 

4、[目标集群] 把从源集群传过来的快照目录和表目录上传到hbase的数据目录中

保证目标集群中没有这张表,如果有的话,并且不用的话,可以删除,参考:hbase2强制删除表 - 秋刀鱼的滋味w - 博客园 (cnblogs.com)

如果目标集群中已经存在这张表,是不能迁移的;

 

hbase1向hbase2表迁移

 

看一下HDFS上的目录权限是否正确,不正确的话需要更改权限;

hbase1向hbase2表迁移

 

5、目标集群

使用clone_snapshot 'snapshot_name, 'tableName' 修复元数据

hbase1向hbase2表迁移

 

可见表已经出现了,并且可以查询了:

hbase1向hbase2表迁移

 

大佬总结

以上是大佬教程为你收集整理的hbase1向hbase2表迁移全部内容,希望文章能够帮你解决hbase1向hbase2表迁移所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: