Hi Reid, I'll throw my +1 onto Anil's Approach #1. I followed this path recently to migrate all of our production data. Migrating Phoenix metadata by creating tables manually on the destination is a little clunky, but HBase Snapshots are quite easy to work with.
Good luck, Nick On Tue, Apr 2, 2019 at 5:26 AM anil gupta <[email protected]> wrote: > Hey Reid, > AFAIK, there is no official Phoenix tool to copy table between clusters. > IMO, it would be great to have an official tool to copy tables. > In our case, source and destination clusters are running Phoenix4.7. IMO, > copy between 4.7-4.14 might have some version incompatibility. So, you > might need to test following in non-prod first. > > Approach 1: We usually move tables by taking a snapshot of hbase table, > exporting the snapshot to remote cluster, create Phoenix table, delete > underlying hbase table, and restoring the snapshot. Please keep in mind > that you will need to do similar exercise if your table has secondary > indexes since they are stored in another hbase table. Also, make sure that > you don’t have any live traffic to Phoenix table in destination cluster > until restoring of snapshot and verification of data in table. > > Approach 2: Use copyTable util of hbase. In this case, you will just need > to create Phoenix table on remote cluster and then kick off hbase copy > table. In this approach also, you will need to perform copyTable for each > secondary index. > > We usually use approach1 because it’s usually faster and doesn’t puts > write load on cluster. > > HTH, > Anil Gupta > > > On Apr 2, 2019, at 4:32 AM, Reid Chan <[email protected]> wrote: > > > > Hi team, > > > > I'm trying to transport a phoenix table between two clusters, by copying > all related hbase files on hdfs from cluster A to cluster B. > > But after i executed CreateTableStatement in phoenix, phoenix failed to > map those files into table, and `select *` got nothing. > > > > The questions are, > > Is there a proper way or tool to do the table transportation? > > If answer is no, can team provide some code pointers if i want to > implement it? > > Or reason why is this infeasible? > > > > FYI, > > both hbase version are both 1.x but different in minor version, > > phoenix version gap is huge, 4.7.0 and 4.14.1. > > > > Any suggestions are appreciated! > > Thanks > > > > > > -------------------------- > > > > Best regards, > > R.C > > > > >
