Copying Data
About this task
NOTE: The Apache CopyTable tool launches a MapReduce job. The nodes on your cluster must
have the correct version of the
mapr-hbase
package installed. To ensure
that your existing HBase applications and workflow work properly, install the mapr-hbase
package that provides the same version number of HBase as your existing Apache HBase. Launch the CopyTable tool with the following command, specifying the full destination
path of the table with the
--new.name
parameter:
hbase org.apache.hadoop.hbase.mapreduce.CopyTable
-Dhbase.zookeeper.quorum=<ZooKeeper IP Address>
-Dhbase.zookeeper.property.clientPort=2181 --new.name=/user/john/foo/mytable01
This example migrates the existing Apache HBase table mytable01
to the
MapR-DB tables /user/john/foo/mytable01
. On the node in the MapR
cluster where you will launch the CopyTable tool, modify the value of the
hbase.zookeeper.quorum
property in the
hbase-site.xml
file to point at a ZooKeeper node in the source
cluster. Alternately, you can specify the value for the
hbase.zookeeper.quorum
property from the command line. This example
specifies the value in the command line.
Procedure
-
Create the destination table. This example uses the HBase shell. The maprcli and MapR Control
System (MCS) are also viable methods.
[user@host]$ hbase shell HBase Shell; enter 'help<RETURN>' for list of supported commands. Type "exit<RETURN>" to leave the HBase Shell hbase(main):001:0> create '/user/john/foo/mytable01', 'usernames', 'userpath' 0 row(s) in 0.2040 seconds
-
Exit the HBase shell.
hbase(main):002:0> exit [user@host]
-
From the HBase command line, use the CopyTable tool to migrate data.
[user@host] hbase org.apache.hadoop.hbase.mapreduce.CopyTable --Dhbase.zookeeper.quorum=zknode1,zknode2,zknode3 --new.name=/user/john/foo/mytable01 mytable01