【hbase】使用HDFS底层文件来进行hbase 跨集群数据迁移
前言:
最近要跨集群迁移hbase 表,这里选择迁移Hadoop
底层数据来实现hbase的表迁移。
迁移Hadoop
底层文件的方式有两种:
distcp
- 从旧集群
get
获取文件到本地在put
到新集群上。
因为,我们这个A集群是kerberos 环境,B集群是不带kerberos环境,这里使用Distcp的方式,需要添加一个白名单的配置,并且也需要重启集群,这里就不采用distcp的方式了,使用 get/put的方式。这里仅是为了迁移底层数据,所以选择那种方式都可以。
环境信息:
CDH版本 :5.13
Hbase版本 :1.2
这里 我们将迁移 tj_idcard_all_new_h
作为实践。
实施:
这里有两个关键的步骤:
拷贝底层表hdfs数据
使用hbck工具恢复表数据
1. 下载数据
这一步骤,先将hbase 表的数据从旧集群下载到本地
hbase 表的默认HDFS路径通常为 /hbase/data/<name_space>/<table_name>
这里大家要写迁移表的实际的hdfs路径。
2. 上传数据
这一步骤,先将从旧集群下载到本地的文件上传到新集群
再将文件移动到Hbase的目录下
3. 修复.META.表
4. 重新分配到各分区服务器
5. 进入hbase
6. 查看是否成功
总结:
- 最好将全部的文件都put到新集群后在修复元数据
- 新集群不需要提前创建同名表
.tabledesc
和.tmp
也需要发送到新集群上,别忘记了
问题:
问题1:在.META.表没修复时执行重新分配,会报错
报错内容:
解决方案:
先修复 -fixMeta 再-fixAssignment
参考:
https://blog.csdn.net/weixin_43320617/article/details/119926516?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link
https://blog.csdn.net/u011250186/article/details/105998886
__EOF__

本文作者:彬在俊
本文链接:https://www.cnblogs.com/erlou96/p/16878210.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/erlou96/p/16878210.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)