目录:
- hdfs 命令操作本地 hbase
- Azure HDInsight HBase表数据导入本地 hbase
hdfs命令操作本地hbase:
- 参见 HDP2.4安装(五):集群及组件安装 , 创建本地 hbase集群后,使用hadoop hdfs 命令在访问 hbase 存储数据时,数据在hdfs文件中的路径依赖于 hbase-site.xml 配置中hbase.rootdir参数,默认如下图:
- hdp2.4默认的目录地址为: hdfs://mycluster/apps/hbase/data ,使用 hdfs 命令如下效果(绝对地址或相对地址),目录太深,操作不方便,可修改配置
- 将目录地址修改为:/hbase 表示hdfs主目录的相对路径,完整的路径由 hdfs core-site.xml配置中 fs.defaultFS 参数决定,如下图
- 修改完目录参数后,重启依赖于该参数的相关服务, 在 hdfs 中访问hbase路径如下:
- 注意: 修改 root.dir 参数后,原hbase数据库中已经存在的数据并未移过来,需要手工将 /hbase/data/default 目录 copy 至新的 hdfs 目录下,再用 hbase hbck -repair 命令进行修复,详细见下面的介绍
Azure HDInsight HBase表数据导入本地 hbase:
- 不同hbase群集之间数据导入导出的方式有很多, 这节介绍效率最高的一种方法,
- 在HDinsight hbase集群上,通过 hdfs dfs -du -h /hbase/data/default 以如下图大小为3+G的数据作为测试例子进行验证
- 第一步使用 hdfs 命令将 hdinsight hbase 中要复制的表数据文件导出至本地,导出命令及文件如下图:
- 命令: hdfs dfs -get /hbase/data/default/TrackLog c:/zhu
- 将下载到HDInsight本地的文件 copy 至本地 linux 机器的任一目录,如:/zhu,通过然后通过 hdfs 命令 put 至 hdfs :
- 命令:hdfs dfs -put /zhu/TrackLog hdfs://mycluster/hbase/data/default , 如下图:
- 此时,物理文件虽然存在,但hbase 的metadata表中并没有注册表的信息,通过如下的命令处理,切换到 hbase安装目录 bin 目录下
- 命令:./hbase hbck -repair -ignorePreCheckPermission 执行成功后,如下图:
- 进入hbase shell 查看结果,hbase 表已经成功创建
- 查询表数据,如下图则OK
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 全程使用 AI 从 0 到 1 写了个小工具
· 快收藏!一个技巧从此不再搞混缓存穿透和缓存击穿
· AI 插件第二弹,更强更好用
· Blazor Hybrid适配到HarmonyOS系统