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工具参数如下:

 
 
  参考资料:

HBase 高可用性的更多相关文章

  1. [转]HBase高可用性的新阶段

    From:http://m.csdn.net/article_pt.html?arcid=2823943 Apache HBase是一个面向线上服务的数据库,其原生支持Hadoop的特性,使其成为那些 ...

  2. HBase 实战(2)--时间序列检索和面检索的应用场景实战

    前言: 作为Hadoop生态系统中重要的一员, HBase作为分布式列式存储, 在线实时处理的特性, 备受瞩目, 将来能在很多应用场景, 取代传统关系型数据库的江湖地位. 本篇主要讲述面向时间序列/面 ...

  3. 大数据组件原理总结-Hadoop、Hbase、Kafka、Zookeeper、Spark

    Hadoop原理 分为HDFS与Yarn两个部分.HDFS有Namenode和Datanode两个部分.每个节点占用一个电脑.Datanode定时向Namenode发送心跳包,心跳包中包含Datano ...

  4. HBase与MongDB等NoSQL数据库对照

    HBase概念学习(十)HBase与MongDB等NoSQL数据库对照 转载请注明出处: jiq•钦's technical Blog - 季义钦 一.开篇 淘宝之前使用的存储层架构一直是MySQL数 ...

  5. Hadoop 面试题之Hbase

    Hadoop 面试题之九 16.Hbase 的rowkey 怎么创建比较好?列族怎么创建比较好? 答: 19.Hbase 内部是什么机制? 答: 73.hbase 写数据的原理是什么? 答: 75.h ...

  6. HBase概念学习(十)HBase与MongDB等NoSQL数据库对照

    转载请注明出处: jiq•钦's technical Blog - 季义钦 一.开篇 淘宝之前使用的存储层架构一直是MySQL数据库,配合以MongDB,Tair等存储. MySQL因为开源,而且生态 ...

  7. 【转】HBase 超详细介绍

    ---恢复内容开始--- http://blog.csdn.net/frankiewang008/article/details/41965543 1-HBase的安装 HBase是什么? HBase ...

  8. HBASE架构解析(二)

    http://www.blogjava.net/DLevin/archive/2015/08/22/426950.html HBase读的实现 通过前文的描述,我们知道在HBase写时,相同Cell( ...

  9. Hbase多master

    单台master的配置 hbase.master master:60000 这是我们通常配置的,这样就定义了master是的ip和端口. 但是当我们需要配置多台master进行,我们只需要提供端口,因 ...

随机推荐

  1. JVM垃圾回收补充知识点

    1. 分代 虚拟机中的共划分为三个代: 年轻代(Young Gen):eden和survivor-8:1:1 年老代(Old Gen):存储大对象,由survivor晋升 永久代(perm Gen): ...

  2. java中泛型的简单使用

    泛型是在jdk1.5之后引入的,我们可以在类的声明处增加泛型列表,如:<T,E,V>.此处,字符可以是任何标识符,一般采用这3个字母. 1.泛型类声明 class MyCollection ...

  3. leetcode笔记(六)740. Delete and Earn

    题目描述 Given an array nums of integers, you can perform operations on the array. In each operation, yo ...

  4. SD 信贷出口 备忘

    信贷出口LVKMPFZ1,LVKMPFZ2,LVKMPFZ3

  5. DISTINCT 去重仍有重复的分析

    logger日志报错 插入数据时违反主键唯一约束 org.springframework.dao.DuplicateKeyException: ### Error updating database. ...

  6. CacheCloud+Redis Cluster 3部署

    CacheCloud环境需求 Java 7 Maven 3 MySQL Redis 3 具体用法可参考:https://cachecloud.github.io 1.下载CacheCloud 官网ht ...

  7. C#判断系统是64位还是32位 支持.net4.0以前的版本

    C#判断系统是64位还是32位的时候引用了一串代码,这个代码是从园子里面其他博文中转载过来的,引入自己的项目中发现无法使用,在引用了相应的命名空间之后还是提示: "未能找到类型或命名空间名称 ...

  8. Configuration Alias

    第一个里程碑 ---- 查看系统别名 [root@xilong ~]# alias alias cp='cp -i' alias egrep='egrep --color=auto' alias fg ...

  9. ThinkPHP 5 整合支付宝微信支付(支付宝H5,微信H5、APP支付、公众号支付)

    因项目没有PC站所以没有写电脑网站支付. Pay.php支付控制器 <?php // +----------------------------------------------------- ...

  10. 11个简单实用技巧--Java性能调优

    多数开发人员认为性能优化是个比较复杂的问题,需要大量的经验和知识.是的,这并不没有错.诚然,优化应用程序以获得最好的性能并不是一件容易的事情,但这并不意味着你在没有获得这些经验和知识之前就不能做任何事 ...