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中需要添加以下选项:
<property>
<name>hbase.replication</name>
<value>true</value>
</property>
5 进入master cluster的shell,执行:
add_peer '1', "slave-zk-1,slave-zk-2,...:slave-2181:/slave-zk-parent"
6 开启要复制的family,进入hbase shell,执行:
disable 'your_table'
alter 'your_table', {NAME => 'family_name', REPLICATION_SCOPE => '1'}
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:
hbase org.apache.hadoop.hbase.mapreduce.replication.VerifyReplication --starttime=1265875194289 --stoptime=1265878794289 1 TestTable
这里的1是上面的peer_id
更完整的说明见:
http://hbase.apache.org/replication.html
- 大小: 202.7 KB
分享到:
相关推荐
尽管如此,对于旧版本的Elasticsearch,如提及的Elasticsearch-HBase-River项目,仍然可以使用River来实现HBase和Elasticsearch之间的数据同步。 实现HBase到Elasticsearch的同步涉及以下关键步骤: 1. **配置...
**HBase应用平台Replication功能详解** HBase,作为一个分布式、高性能的列式数据库,广泛应用于大数据处理领域。其强大的实时读写能力和高扩展性使其成为处理海量数据的理想选择。在实际部署中,数据的可靠性与...
### Hadoop和Hbase安装使用教程 #### 一、准备工作 在正式开始Hadoop和HBase的安装之前,我们需要做一些准备工作。这些准备包括了安装必要的软件环境,例如虚拟机环境和SSH客户端,以及对虚拟机的基本配置。 ####...
5. 高可靠性:WAL 机制保证了数据写入时不会因集群异常而导致写入数据丢失,Replication 机制保证了在集群出现严重的问题时,数据不会发生丢失或损坏。 6. 高性能:底层的 LSM 数据结构和 Rowkey 有序排列等架构上的...
为了实现HBase到Solr的数据同步,我们可以使用HBase Indexer,这是一个由NGDATA开发的开源项目,它简化了这个过程,避免了手动编写同步代码的需求,从而减少了开发工作量和并发环境下的性能问题。在CDH 5.0.2版本中...
将 hbase.replication=true 添加到 hbase-site.xml 将 jar 复制到每个区域服务器上的 lib 目录 重启区域服务器 java -cp $(hbase classpath):target/hbase-custom-replication-endpoint-example-1.0-SNAPSHOT.jar ...
此外,本书还会详细阐述HBase的API使用,包括Java API和命令行工具,以及如何通过HBase Shell进行数据操作。通过实例,读者可以学习如何创建表、插入和查询数据,以及执行复杂的扫描操作,这对于实际开发中的数据...
### HBase Shell 命令详解 #### 一、概述 HBase Shell 是一个命令行工具,...对于更复杂的管理和监控任务,建议进一步了解 HBase Shell 中提供的其他工具命令,如 `TOOLS`、`REPLICATION` 和 `GENERAL` 类别的命令。
在实际应用中,用户通常需要结合Hadoop集群的配置,调整HBase的配置参数,如region大小、内存使用、Compaction策略等,以满足特定场景的需求。同时,理解RowKey的设计原则和数据模型对于优化查询效率至关重要。 ...
4.1. 使用脚本 4.2. Shell 技巧 5. 数据模型 5.1. 概念视图 5.2. 物理视图 5.3. 表 5.4. 行 5.5. 列族 5.6. Cells 5.7. Data Model Operations 5.8. 版本 5.9. 排序 5.10. 列元数据 5.11. Joins 6. HBase 和 Schema ...
9. `hbase.hregion.replication`: 是否开启HBase的区域复制,提高数据可用性。 四、优化策略 1. 调整`hbase.regionserver.handler.count`,根据实际负载增加处理线程,提升并发处理能力。 2. 合理设置`hbase....
7. **mapred-site.xml**: 如果HBase使用MapReduce进行批处理操作,这个文件会包含MapReduce的配置,如`mapreduce.framework.name`设定运行框架(通常是YARN)。 8. **yarn-site.xml**: 对于运行在YARN上的HBase,这...
藏经阁-HBase at DIDI,看滴滴内部使用HBase的技巧 HBase 是一种分布式、面向列的NoSQL数据库,广泛应用于大规模数据存储和处理场景。滴滴内部广泛使用HBase,以满足其庞大的数据存储和处理需求。本文将深入探讨...
如果您在Hadoop集群上进行了HDFS客户端配置的更改,例如将副本系数dfs.replication设置成5,则必须使用以下方法之一来使HBase知道,否则HBase将依旧使用默认的副本系数3来创建文件: 1. Add a pointer to your ...
7. **高级特性**:书中涵盖了HBase的高级特性,如Coprocessor(协处理器)、Bulk Load(批量加载)、Secondary Index(二级索引)和Replication(复制),帮助读者更深入地利用HBase。 8. **企业案例分析**:书中的...