HBase表跨集群迁移

来源:互联网 发布:java命名大全 编辑:程序博客网 时间:2024/05/21 09:00

需求:存在两个集群集群1、集群2,将集群1中Hbase数据表复制到集群2中,此时两个集群HBase版本一致。
解决思路:
一. 将集群1HBase表数据复制到集群2的HBase中
1. 分别查看集群1和集群2中hbase表的存储路径。hbase表数据存储路径在hbase-site.xml文件中指定,该xml文件通常在hbase安装目录下./conf/hbase-site.xml。
这里写图片描述
命令行查看hbase存储路径下的文件:
这里写图片描述
2. 将集群1中Hbase中member表复制到集群2Hbase表的存储路径下。有两种方法:
- 直接从集群1中复制表数据到集群2。由于集群1和集群2ping不同,直接在集群1上执行scp命令失败,错误信息连接超时。该方法暂时无效,可能命令不正确,后续有解决方法再更新。
这里写图片描述
注意:sudo与su命令是不同的。su是切换用户的命令,常用来切换root用户,提示输入密码为超级用户密码。sudo暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制,Ubuntu默认为一次时长15分钟。
- 将数据从集群1中复制到本地,在将数据从本地复制到集群2。该方法成功。
二. 执行修复
1. 修复.META.表

hbase hbck -fixMeta

2. 重新分配数据到各RegionServer

hbase hbck -fixAssignments

此时hbase表跨集群迁移已执行成功,可以通过scan命令查看表数据。

原创粉丝点击