hdfs phoenix 导入_HBase(Phoenix)集群迁移实践

本文介绍了如何进行HBase(Phoenix)集群的迁移,特别是当使用Phoenix SQL操作HBase时。步骤包括:为迁移的表创建Snapshot,创建Phoenix元数据表的快照,使用ExportSnapshot命令将数据从旧集群迁移到新集群,然后在新集群上恢复快照数据,确保在Phoenix中能查询到HBase的数据。
摘要由CSDN通过智能技术生成

HBase(Phoenix)集群迁移实践

以下步骤的分支是针对有使用phoenix sql来操作hbase的

1.给需要迁移的表创建Snapshot

#在hbase shell下

snapshot '表名','快照名'

# 可批量执行

echo "snapshot '表名','快照名';snapshot '表名','快照名';..." | hbase shell

这里写个例子,方便后面说明

echo "snapshot 'tableA','20180125.tableA'" | hbase shell

1.x 创建phonenix元数据的表快照

hbase(main):001:0> list 'SYSTEM.*'

TABLE

SYSTEM.CATALOG

SYSTEM.FUNCTION

SYSTEM.MUTEX

SYSTEM.SEQUENCE

SYSTEM.STATS

创建SYSTEM.前缀的表快照

2.将快照数据从旧集群迁移到新集群

hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot 快照名 -copy-to hdfs://new-nn/hbase -copy-from hdfs://old-nn/hbase

new-nn和old-nn是两个集群上active namenode的IP,

当然也可以用host的方式来代替IP,但需保证主动方集群(谁调用的这条命令)中所有节点能解析出IP。

如果hdfs的端口不是默认的,则还需加上端口

-copy-to是目录集群的hbase主目录, -copy-from是源集群的hbase主目录。

/hbase这个路径是hbase默认的主目录,如果被修改,则这部分也需同步调整

需要保证新旧集群中的所有节点能够相互连的通,这个命令的本质是一个MR任务

举例

hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot 20180125.tableA -copy-to hdfs://new-nn/hbase -copy-from hdfs://old-nn/hbase

3.在新集群上恢复快照数据

在hbase shell下执行

#此时能够查的到旧集群上的快照名

list_snapshots

#如果表不存在,可省略disable和enable步骤

disable '快照的主体表'

restore_snapshot '快照名'

enable '快照的主体表'

举例

disable 'tableA'

restore_snapshot '20180125.tableA'

enable 'tableA'

3.x 在也恢复phonix的相关快照数据后,就可以在phonix中查到hbase的数据了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值