hbase-0.90.0的一个重要改进是引入了replication机制,使它的数据完整性得到了进一步的保障。虽然这一功能还不太完善,但是今后必然会变得更加重要。



hbase的replication机制很像mysql statement-based replication。它是通过WALEdit和hlog来实现的。当请求发送给master cluster时,hlog日志放入hdfs的同时进入replication队列,由slave cluster通过zookeeper获取并写入slave的表中。目前的版本仅支持一个slave cluster







具体配置如下:

1 需要保证主从cluster上有相同的table,并且结构一致,都enable

2 保证主从cluster的版本都在0.90.0以上

3 主从cluster的机器是两两互通的

4 master cluster的hbase-site.xml中需要添加以下选项:

  1. <property>
  2. <name>hbase.replication</name>
  3. <value>true</value>
  4. </property>

5 进入master cluster的shell,执行:

add_peer '1', "slave-zk-1,slave-zk-2,...:slave-2181:/slave-zk-parent"

6 开启要复制的family,进入hbase shell,执行:

  1. disable 'your_table'
  2. alter 'your_table', {NAME => 'family_name', REPLICATION_SCOPE => '1'}
  3. enable 'your_table'

此时replication己经开始了

7 要中止或继续replication,使用stop_replication或start_replication



在复制过程中,可以通过查看regionserver的日志来跟踪复制的进度:

Considering 1 rs, with ratio 0.1

Getting 1 rs from peer cluster # 0

Choosing peer yourip:62020



要检查复制的数据是否完整,可以利用hbase提供的小工具verifyrep:

  1. hbase org.apache.hadoop.hbase.mapreduce.replication.VerifyReplication --starttime=1265875194289 --stoptime=1265878794289 1 TestTable

这里的1是上面的peer_id

HBase replication使用的更多相关文章

  1. Hbase replication操作

    1.修改hbase-site.xml文件 <property>  <name>hbase.replication</name>  <value>true ...

  2. HBase replication

    Hbase Replication 介绍 现状 Hbase 的replication目前在业界使用并不多见,原因有很多方面,比如说HDFS目前已经有多份备份在某种程度上帮助HBASE底层数据的安全性, ...

  3. hbase replication原理分析

    本文只是从总体流程来分析replication过程,很多细节没有提及,下一篇文章准备多分析分析细节.   replicationSource启动过程 org.apache.hadoop.hbase.r ...

  4. HBase的replication原理及部署

    一.hbase replication原理 hbase 的复制方式是 master-push 方式,即主集群推的方式,主要是因为每个rs都有自己的WAL. 一个master集群可以复制给多个从集群,复 ...

  5. [How to]HBase集群备份方法--Replication机制

    1.简介 HBase备份的方法在[How to]HBase集群备份方法文章中已经有些介绍,但是这些方法都不是HBase本身的特性在支持,都是通过MR计算框架结合HBase客户端的方式,或者直接拷贝HB ...

  6. Hbase 0.92.1 Replication

    原集群 服务器名称 服务 sht-sgmhadoopnn-01 Master,NameNode,JobTracker sht-sgmhadoopdn-01 RegionServer,DataNode, ...

  7. HBase之集群状态

    import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.*; import org.apache.had ...

  8. Protocol Buffers in HBase

    For early Hbase developers, it is often a nightmare to understand how the different modules speak am ...

  9. HBase(五): HBase运维管理

    HBase自带的很多工具可用于管理.分析.修复和调试,这些工具一部分的入口是hbase shell 客户端,另一部分是在hbase的Jar包中. 目录: hbck hfile 数据备份与恢复 Snap ...

随机推荐

  1. Spark-1.6.0中的Sort Based Shuffle源码解读

    从Spark-1.2.0开始,Spark的Shuffle由Hash Based Shuffle升级成了Sort Based Shuffle.即Spark.shuffle.manager从Hash换成了 ...

  2. 安卓开发过程中空指针的问题Java.lang.NullPointerException

    最近做一个新闻客户端的应用,经常出现空指针的问题,我想一方面可能是自己水平有限,二是开发过程中有一些遗漏的地方.一般情况下新手出现空指针的概率较高.下面来总结一下经常出现的问题. 1.所谓的指针,就是 ...

  3. 插件占坑,四大组件动态注册前奏(三) 系统BroadCast的注册发送流程

    转载请注明出处:http://blog.csdn.net/hejjunlin/article/details/52204143 前言:为什么要了解系统Activity,Service,BroadCas ...

  4. 微软在线测试之lucky string,有关斐波那契的题目都在此了

    解决方案: int _tmain(int argc,_TCHAR* argv[]) { size_t fib[] = {1,2,3,5,8,13,21,34}; string str,tempstr; ...

  5. J2EE进阶(七)利用SSH框架根据数据表建立model类

    J2EE进阶(七)利用SSH框架根据数据表建立model类 前言 在利用SSH框架进行项目开发时,若将数据库已经建好,并且数据表之间的依赖关系已经确定,可以利用Hibernate的反转功能进行mode ...

  6. 【IOS 开发】Object - C 数组使用详解

    . 一. 一维数组 1. 一维数组定义 (1) 数组定义 数组定义格式 : type arrayName[len]; -- 默认初始化 : 注意 数组定以后, 如果是 int 数组默认初始化为 0, ...

  7. iOS中 GCD-Grand Central Dispath 多线程 UI_21

    GCD:Grand Central Dispath "牛逼的中枢调度器";是纯C语言编写的,提供了很多比较强大的函数 GCD:优势 1.目前是苹果主推的线程管理方式 2.它会自动的 ...

  8. 从Linux启动过程到android启动过程

    Linux启动过程: 1.首先开机给系统供电,此时硬件电路会产生一个确定的复位时序,保证cpu是最后一个被复位的器件.为什么cpu要最后被复位呢?因为 如果cpu第一个被复位,则当cpu复位后开始运行 ...

  9. webview与js交互

     对于android初学者应该都了解webView这个组件.之前我也是对其进行了一些简单的了解,但是在一个项目中不得不用webview的时候,发现了webview的强大之处,今天就分享一下使用we ...

  10. Leetcode_26_Remove Duplicates from Sorted Array

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41558551 Remove Duplicates from ...