• HBase replication使用


    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中需要添加以下选项:
    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,执行:
    Java代码  收藏代码
    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:
    Java代码  收藏代码
    1. hbase org.apache.hadoop.hbase.mapreduce.replication.VerifyReplication --starttime=1265875194289 --stoptime=1265878794289 1 TestTable  

    这里的1是上面的peer_id
  • 相关阅读:
    解决VM 安装Ubuntu64与 Device/Credential Guard 不兼容,显示不支持64位系统
    WPF处理内容溢出
    .NET Standard 2.0 是什麼?可以吃嗎?
    C#.Net]启动外部程序的几种常用方法汇总
    在C#中接收系统屏幕锁定和解锁的事件
    C#.Net]启动外部程序的几种常用方法汇总
    MongoDB索引的使用
    读取xml并将节点保存到Excal
    开学后的第一篇
    续并查集学习笔记——Gang团伙题解
  • 原文地址:https://www.cnblogs.com/cl1024cl/p/6205198.html
Copyright © 2020-2023  润新知