如何配置UDH HBase Replication集群
作者 : 费英林
目录
HBase Replication 是 HBase 集群间的一种数据备份机制,主集群可将数据复制到一个或多个从集群。
1. HBase 主从集群安装
1.1. 主集群安装
通过 UDH 安装 HBase 集群,打开 HBase 配置页面,点击 “自定义配置文件 : hbase-site.xml ” ,添加如下属性后重启服务:
1.2. 从集群安装
通过 UDH 安装 HBase 集群,打开 HBase 配置页面,点击 “高级” ,修改如下属性后重启服务:
2. 定义表结构
在 HBase 主集群和从集群上创建相同的表结构,打开 Replication 模式。 Replication 是基于列族的备份机制。例如:
create ' t1 ', {NAME => ' colfam1 ', REPLICATION_SCOPE => 1}
表 t1 的 colfam1 列族数据将从主集群复制到从集群。主从集群上的表结构定义要完全一致。
3. 定义 Replication Peer
在主集群上打开 hbase shell ,添加 peer:
add_peer '1', "search6.yonyou.com,search7.yonyou.com,search8.yonyou.com:2181:/hbase"
其中:
‘ 1 ’ 是 peer ID ,必须是一个 short 类型的整数;
"search6.yonyou.com,search7.yonyou.com,search8.yonyou.com:2181:/hbase" 是从集群的连接串,定义为“从集群的 ZK 集群:从集群的 ZK 端口:从集群的 HBase ZK 节点(这个值要与前述画面中定义的值一致,必须是 /hbase )”
4. 历史数据迁移
如果在启用 Replication 之间 HBase 中的表中已经存在数据,这部分数据需要手动拷贝到从集群,可以使用 HBase 提供的 CopyTable 工具,下面是几个例子:
hbase org.apache.hadoop.hbase.mapreduce.CopyTable \
--peer.adr=search6.yonyou.com:2181:/hbase \
--families= colfam1 \
t1
以上命令是将表 t1 中列族 colfam1 的所有数据拷贝到从集群的 t1 表中。
hbase org.apache.hadoop.hbase.mapreduce.CopyTable \
--starttime=1 --endtime=1432037334102 \
--peer.adr=search6.yonyou.com:2181:/hbase \
--families= colfam1 \
t1
以上命令是将表 t1 中列族 colfam1 满足时间条件的所有数据拷贝到从集群的 t1 表中,其中 starttime 为 1 表示起始时间是 1 (最小值),结束时间是 1432037334102 。
hbase org.apache.hadoop.hbase.mapreduce.CopyTable \
--starttime= 1432038826918 --endtime= 1432522466099 \
--peer.adr=search6.yonyou.com:2181:/hbase \
--families= colfam1 \
t1
以上命令是将表 t1 中列族 colfam1 满足时间条件的所有数据拷贝到从集群的 t1 表中,其中起始时间是 1432038826918 ,结束时间是 1432522466099 。
5. 验证
在主集群中打开 HBase shell ,新增一条记录:
put ' t1 ', 'row 1 ', ' colfam1 ', 'value 1 '
在从集群中打开 HBase shell ,查询复制过来的数据:
get ' t1 ', 'row 1 '
附:常用的 replication 命令
add_peer <ID> <CLUSTER_KEY>
peer 添加命令
list_peers
列出本集群所有的 peer
enable_peer <ID>
启用之前禁用的 peer
disable_peer <ID>
禁用一个 peer
remove_peer <ID>
删除一个 peer
enable_table_replication <TABLE_NAME>
启用一个表中所有列族的 replication
disable_table_replication <TABLE_NAME>
禁用一个表中所有列族的 replication
Attachments:
UDH Web框架简介.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)
技术分享-几种数据采集技术的简介.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)
技术分享-如何配置UDH HBase Replication集群.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)
技术分享-如何配置UDH HBase Replication集群.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)