Hbase数据的备份、迁移、导入、导出和还原

写在前面:
因工作需求配置了一套zookeeper、hbase、hadoop、Phoenix的环境,需要对Hbase数据进行一系列的操作,才有了此文章的产生,写的不好,请大家多多指教!!!!!

1、看

看什么呢?看Hadoop下yarn-site.xml文件中有没有配置以下信息:


    yarn.resourcemanager.address
    bogon:8032
  
  
    yarn.resourcemanager.scheduler.address
    bogon:8030
  
  
    yarn.resourcemanager.resource-tracker.address
    bogon:8031
  

如果没有配置,请务必加上去,不然会报:一直在等待链接的异常消息。注意:bogon这个为本机的电脑名称。
异常信息:
RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
14/08/21 10:41:20 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 1 time(s); retry policy is

2、看

看datanode 和namenode/current 文件夹下VERSION中clusterID是否一致,如果不一致,务必要改成一致的,不然会出现以下异常。
could only be replicated to 0 nodes instead of minReplication (=1)

3、执行

执行导出操作的命令:

hbase org.apache.hadoop.hbase.mapreduce.Export PERSON /opt/hbase-data-back/test_table_back 

导出代码解释:
hbase org.apache.hadoop.hbase.mapreduce.Export 导出方法
PERSON 表名 可根据实际情况进行修改
/opt/hbase-data-back/test_table_back 导出文件存放的路径 可根据实际情况进行修改

4、备份(复制)

将hdfs中的/opt/hbase-data-back/test_table_back,复制到系统的/opt/hbase-data-back/test_table_back中
例如:

hadoop fs -get /opt/hbase-data-back/test_table_back /opt/hbase-data-back/test_table_back
5、上传(HDFS)

hadoop fs -put localFile hdfsFile 通过put命令将本地文件上传到hdfs中去
例如:

hadoop fs -put /opt/hbase-data-back/test_table_back  /opt/hbase-data-back/test_table_back2
6、查看文件夹下的内容

hadoop fs -ls 文件地址
看看是否上传上去,检查上传命令是否执行成功

7、导入的准备工作

1)、创建一个与导入数据格式相同的表

8、

命令:hbase org.apache.hadoop.hbase.mapreduce.Import SPERSON /opt/hbase-data-back/test_table_back
命令解析:
hbase org.apache.hadoop.hbase.mapreduce.Import 导出方法
SPERSON 表名 可根据实际情况修改
/opt/hbase-data-back/test_table_back 导出文件存放的路径 可根据实际情况进行修改

9、查看表中的内容

scan ‘SPERSON’ 看数据是否丢失

10、 大数据量导出

解决方法:修改mapred-site.xml中的配置,设置map和reduce任务的内存配置如下:(value中实际配置的内存需要根据自己机器内存大小及应用情况进行修改)


mapreduce.map.memory.mb
1536



mapreduce.map.java.opts
-Xmx1024M



mapreduce.reduce.memory.mb
3072



mapreduce.reduce.java.opts
-Xmx2560M

你可能感兴趣的:(Hbase数据的备份、迁移、导入、导出和还原)