Hbase增量导入导出

Cluster-A导出:

step1(导出到hdfs临时目录 /backup):

使用hbaseExport帮助: hbase org.apache.hadoop.hbase.mapreduce.Export help

正则rowKey前缀匹配导出: hbase –config /tmp/hbase-client-conf org.apache.hadoop.hbase.mapreduce.Export safeclound.tb_ammeter /backup/tb_ammeter 1 1531843200000 1532016000000 ^11611119,ELE_P,119,01,201904

step2(从hdfsget到本地磁盘):

hdfs dfs -get /backup/tb_ammmeter /root/export-backup

step3(scp到Cluster-B ):

scp /root/export-backup/tb_ammeter cluster.b:/root/import-backup

Cluster-B导入:

step1(将本地磁盘数据文件上传至hdfs):

hdfs dfs -put /root/export-backup/tb_ammeter /backup

step2(导入hbase表数据目录):

hbase org.apache.hadoop.hbase.mapreduce.Import safeclound.tb_ammeter /backup/tb_ammeter

注:

1. 前提条件,两个集群一定都要开启yarn资源调度服务,实际上都是通过MR任务export/import的;

2. 其中–config /tmp/hbase-client-conf参数表示可以临时指定hbase配置文件,默认可无需显示指定,因本人是使用的阿里云的EMR3.2(客户端配置存在bug),若不加–config直接使用配置将会报

Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.ipc.controller.ServerRpcControllerFactory 的错误,EMR3.2错误解决请参考  阿里EMR3.2 hbase/phoenix配置BUG

参考文献1

源码参考:org.apache.hadoop.hbase.mapreduce.Export 的rowKey的前缀匹配实现

《Hbase增量导入导出》

    原文作者:Saxon_323e
    原文地址: https://www.jianshu.com/p/bc2272a2e99a
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞