hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dave Latham (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-13042) MR Job to export HFiles directly from an online cluster
Date Fri, 13 Feb 2015 18:54:12 GMT
Dave Latham created HBASE-13042:

             Summary: MR Job to export HFiles directly from an online cluster
                 Key: HBASE-13042
                 URL: https://issues.apache.org/jira/browse/HBASE-13042
             Project: HBase
          Issue Type: New Feature
            Reporter: Dave Latham

We're looking at the best way to bootstrap a new remote cluster.  The source cluster has a
a large table of compressed data using more than 50% of the HDFS capacity and we have a WAN
link to the remote cluster.  Ideally we would set up replication to a new table remotely,
snapshot the source table, copy the snapshot across, then bulk load it into the new table.
 However the amount of time to copy the data remotely is greater than the major compaction
interval so the source cluster would run out of storage.

One approach is HBASE-13031 to allow the operators to snapshot and copy one key range at a
time.  Here's another idea:

Create a MR job that tries to do a robust remote HFile copy directly:
 - Each split is responsible for a key range.
 - Map task lookups up that key range and maps it to a set of HDFS store directories (one
for each region/family)
 - For each store:
   - List HFiles in store (needs to be less than 1000 files to guarantee atomic listing)
   - Attempt to copy store files (copy in increasing size order to minimize likelihood of
compaction removing a file during copy)
   - If some of the files disappear (compaction), retry directory list / copy
 - If any of the stores disappear (region split / merge) then retry map task (and remap key
range to stores)

Or maybe there are some HBase locking mechanisms for a region or store that would be better.
 Otherwise the question is how often would compactions or region splits force retries.

Is this crazy? 

This message was sent by Atlassian JIRA

View raw message