加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

HBase数据迁移方案介绍

发布时间:2019-08-09 02:23:13 所属栏目:编程 来源:ballwql
导读:一、媒介 HBase数据迁徙是很常见的操纵,今朝业界首要的迁徙方法首要分为以下几类: 图1.HBase数据迁徙方案 从上面图中可看出,今朝的方案首要有四类,Hadoop层有一类,HBase层有三类。下面别离先容一下。 二、Hadoop层数据迁徙 2.1 方案先容 Hadoop层的数

在建设一个snapshot之后:snapshot 'test', 'snapshot_test',在/hbase/.hbase-snapshot目次信息如下:

  1. hbaseuser~> hadoop fs -ls /hbase/.hbase-snapshot/snapshot_test  
  2. Found 4 items  
  3. -rw-r--r--   1 hbaseuser supergroup         32 2017-12-01 12:13 /hbase/.hbase-snapshot/snapshot_test/.snapshotinfo  
  4. drwxr-xr-x   - hbaseuser supergroup          0 2017-12-01 12:13 /hbase/.hbase-snapshot/snapshot_test/.tabledesc  
  5. drwxr-xr-x   - hbaseuser supergroup          0 2017-12-01 12:13 /hbase/.hbase-snapshot/snapshot_test/.tmp  
  6. drwxr-xr-x   - hbaseuser supergroup          0 2017-12-01 12:13 /hbase/.hbase-snapshot/snapshot_test/d8340c61f5d77345b7fa55e0dfa9b492 

在clone_snapshot之后:clone_snapshot 'snapshot_test','new_test',在/hbase/archive/data/default目次,有对原表的link目次,目次名只是在原HFile的文件名基本上加了个links-前缀,这样我们可以通过这个来定位到原表的HFile,如下所示:

  1. hbaseuser:~> hadoop fs -ls /hbase/archive/data/default/test/d8340c61f5d77345b7fa55e0dfa9b492/i  
  2. Found 1 items  
  3. drwxr-xr-x   - hbaseuser supergroup          0 2017-12-01 12:34 /hbase/archive/data/default/test/d8340c61f5d77345b7fa55e0dfa9b492/i/.links-55c5de40f58f4d07 

此时,再执行归并操纵:major_compact 'new_test',会发明/hbase/archive/data/default/目次已经酿成了现实表的数据文件,上面图中/hbase/archive/data/default/test/d8340c61f5d77345b7fa55e0dfa9b492/i/.links-55c5de40f58f4d07这个已经不在了,取而代之的是如下所示文件:

  1. hbaseuser:~> hadoop fs -ls /hbase/archive/data/default/new_test/7e8636a768cd0c6141a3bb45b4098910/i  
  2. Found 1 items  
  3. -rw-r--r--   1 hbaseuser supergroup          0 2017-12-01 12:48 /hbase/archive/data/default/new_test/7e8636a768cd0c6141a3bb45b4098910/i/test=d8340c61f5d77345b7fa55e0dfa9b492-55c5de40f58f4d07aed767c5d250191c 

在现实的/hbase/data/default/new_test目次也是现实的原表的数据文件,这样完成了表数据的迁徙。

3.3.3 snapshot数据迁徙

snapshot的应用场景和上面CopyTable描写差不多,我们这里首要思量的是数据迁徙部门。数据迁徙首要有以下几个步调:

A.建设快照:在原集群上,用snapshot呼吁建设快照,呼吁如下:

  1. hbase> snapshot  'src_table', 'snapshot_src_table'  
  2. #查察建设的快照,可用list_snapshots呼吁  
  3. hbase> list_snapshots   
  4. #假如快照建设有题目,可以先删除,用delete_snapshot呼吁  
  5. hbase >delete_snapshot 'snapshot_src_table' 

建设完快照后在/hbase根目次会发生一个目次:

  1. /hbase/.hbase-snapshot/snapshot_src_table  
  2. #子目次下有如下几个文件  
  3. /hbase/.hbase-snapshot/snapshot_src_table/.snapshotinfo    
  4. /hbase/.hbase-snapshot/snapshot_src_table/data.manifest 

B.数据迁徙: 在上面建设好快照后,行使ExportSnapshot呼吁举办数据迁徙,ExportSnapshot也是HDFS层的操纵,本质照旧操作MR举办迁徙,这个进程首要涉及IO操纵并耗损收集带宽,在迁徙时要指定下map数和带宽,否则轻易造成机房其余营业题目,假如是单独的MR集群,可以在MR集群上行使如下呼吁:

  1. hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot   
  2. -snapshot snapshot_src_table    
  3. -copy-from hdfs://src-hbase-root-dir/hbase   
  4. -copy-to hdfs://dst-hbase-root-dir/hbase   
  5. -mappers 20   
  6. -bandwidth 20 

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读