阿川CH
学海无涯,上栽上栽!
Toggle navigation
阿川CH
主页
归档
标签
HBase(Phoenix)集群迁移实践
HBase
数据迁移
2018-03-14 15:45:23
2
0
0
cqc
HBase
数据迁移
# HBase(Phoenix)集群迁移实践 以下步骤的分支是针对有使用`phoenix sql`来操作`hbase`的 ## 1.给需要迁移的表创建Snapshot ```bash #在hbase shell下 snapshot '表名','快照名' ``` 这里写个例子,方便后面说明 ```bash snapshot 'tableA','20180125.tableA' ``` ## 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的`SYSTEM.`前缀的元表快照数据后,就可以在phonix中查到hbase的数据了
上一篇:
YARN学习
下一篇:
HDFS不同集群迁移实践
文档导航