1、Replication 之 Master <--> Master 互备
  Master1 (所用zookeeper所处节点 hadoop[01-05] ):
  -- add_peer '1',"hadoop01,hadoop02,hadoop03,hadoop04,hadoop05:2181:/hbase"
  -- create 'test1',{NAME => 'cf1',REPLICATION_SCOPE => '1'}
  -- put 'test1','rowkey001','cf1:col1','value01'
  Master2 (所用zookeeper所处节点NM-304-SA5212M4-BIGDATA-1[06-10] ):
  -- add_peer '1',"hadoop06,hadoop07,hadoop08,hadoop09,hadoop10:2181:/hbase"
  -- create 'test1',{NAME => 'cf1',REPLICATION_SCOPE => '1'}
  -- put 'test1','rowkey002','cf1:col1','value02'
  [注]:如果使用同一zookeeper集群,那么hbase在zookeeper中应使用不同的znode

2、Replication 之 Master --> Slave

  Master集群1(hadoop01):
  -- add_peer '1',"hadoop01,hadoop02,hadoop03,hadoop04,hadoop05:2181:/hbase"
  -- create 'test1',{NAME => 'cf1',REPLICATION_SCOPE => '1'}
  -- put 'test1','rowkey001','cf1:col1','value01'
  Slave集群2(hadoop06):
  -- create 'test1',{NAME => 'cf1'}
  hbase org.apache.hadoop.hbase.mapreduce.replication.VerifyReplication --families=cf1 1 test_xbk
  如果有多个families,以逗号分隔。

3、CopyTable

  执行命令前,需先创建表。
  支持时间区间、row 区间,改变表名称,改变列簇名称,指定是否copy删除数据等功能。
  A、同一个集群不同表名称
  -- hbase org.apache.hadoop.hbase.mapreduce.CopyTable --new.name=tableCopy srcTable
  B、跨集群 copy 表
  -- hbase org.apache.hadoop.hbase.mapreduce.CopyTable --starttime=1453445763941 --endtime=1453445797041 --  peer.adr="hadoop01,hadoop02,hadoop03,hadoop04,hadoop05:2181:/hbase" --peerId=1 --families=ct:ct --new.name=copytable copytable
  MR 的 map 数量与表的 region 数相同,与 HFile 文件个数无关。
  CopyTable 工具采用 scan 查询,写入新表时采用 put 和 delete API,全是基于 hbase 的 client api 进行读写,无法使用 Import 工具的 bulk 导入。

4、HBase Snapshots

  对于 hbase 数据备份及数据复制来说,以往会采用 CopyTable 或 ExportTable 或在禁用 hbase 表后在HDFS中复制所用 hfiles 。
  但 CopyTable 和 ExportTable 会降低 region server 的性能,禁用表代表着不能写也不能读。
  HBase Snapshots 允许你克隆一个表没有创建数据副本,并且最小限度的影响 Region Servers 。导出表到另一个集群不应该对 Region Servers 产生影响。

  在创建snapshot后,可以通过ExportSnapshot工具把快照导出到另外一个集群,实现数据备份或者数据迁移。
  操作步骤:
  A、创建快照: hbase snapshot -n xbk_snapshot -t xbk
  或 hbase shell> snapshot 'test1', 'xj_snapshot'
  B、把快照导出到另外一个集群: hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot xj_snapshot -copy-to hdfs://hadoop01:8020/hbase (-chuser MyUser -chgroup MyGroup -chmod 700 -mappers 16)
  C、把快照copy成一个新的表: clone_snapshot 'test_snapshot','testsnapshot'

5、Export/Import

  通过Export导出数据到目标集群的hdfs,再在目标集群执行import导入数据,Export支持指定开始时间和结束时间,因此可以做增量备份。
  hbase org.apache.hadoop.hbase.mapreduce.Export
  Export工具参数如下:

 
 
  参考资料:

最新文章

  1. 记录一则ORA-00054,ORA-00031解决过程
  2. Activity之间传递参数(四)
  3. Xwindow 连接 RHEL 5
  4. vi的用法 【转】
  5. 【转】php利用mkdir创建多级目录
  6. DBA_基本Bash语法汇总(汇总)
  7. SSAO
  8. 动画 -- ListView列表item逐个出来(从无到有)
  9. jQuery获取鼠标移动方向
  10. Jquery对选取到的元素显示指定的长度,对于的字符串用“...”显示
  11. 【剑指offer】Q32:从1至n整1出现的次数(python)
  12. 空间金字塔池化(Spatial Pyramid Pooling, SPP)原理和代码实现(Pytorch)
  13. BZOJ 4551[Tjoi2016&amp;Heoi2016]树(树链剖分+二分)
  14. 七、OpenStack—dashboard组件安装
  15. CSS实现单行、多行文本超出部分显示省略号
  16. SQL0803问题 键值重复
  17. (set)产生冠军 hdu2094
  18. 5.3Python函数(三)
  19. Beta版测试报告
  20. ubuntu-18.04 root登录图形界面失败问题解决方案

热门文章

  1. 优雅的QSignleton (二) MonoSingleton单例实现
  2. HTML5新标签的兼容性处理
  3. poj_2773_Happy 2006
  4. mysql修改登录密码三种方式
  5. bootstrap模态框传值操作
  6. /etc/fstab开机自动挂载设备配置
  7. 虚拟内存设置(解决linux内存不够情况)
  8. ethereum(以太坊)(基础)--容易忽略的坑(三)
  9. json_decode结果为null的几种原因
  10. 查看ubuntu版本号命令