hbase 命令_HBase备份容灾常用命令

灾难恢复是个令人神经紧张的话题,但必须面对.HBase虽然是一个分布式的数据库,但是有时候容灾以及数据备份仍然是需要考虑的,而掌握常用的命令正是写这篇文章的意义所在。 本文主要通过案例来讲解CopyTable,Import,Export,Snapshot,希望大家对它们的使用有一个直观的认识。

CopyTable

  • 支持时间区间,row区间,改变表名称,改变列族名称,指定是否copy已经被删除的数据等功能
  • CopyTable工具采用scan查询,写入新表时采用put和delete API,全是基于hbase的client api进行读写
  1. 首先需要新建好备份表,保证columnFamily一致
a62cef448dd0262afe1bdb3b8adaff1e.png
  1. 在另外一个窗口中,进入hbase/bin目录下,执行以下命令(fileTableNew是备份的表,fileTable是原始表)
hbase org.apache.hadoop.hbase.mapreduce.CopyTable --new.name=fileTableNew fileTable
14e45e0895127a131946dc7102e2d411.png

Export/Import

  1. Export可导出数据到目标集群,然后可在目标集群Import导入数据,Export支持指定开始时间和结束时间,因为可以做增量备份
  2. Export导出工具与CopyTable一样是依赖hbase的scan读取数据

Export语法

bin/hbase org.apache.hadoop.hbase.mapreduce.Export  hdfs://namenode:9000/table_bak 

Import语法

bin/hbase -Dhbase.import.version=0.94 org.apache.hadoop.hbase.mapreduce.Import 
  1. 查看hbase数据库,只存在fileTable表
  1. 执行导出语句
#这里存储的路径是存储在hdfs上面的./hbase org.apache.hadoop.hbase.mapreduce.Export fileTable /usr/local/hbase/fileTable.db
8e2cba2e0f11e8a0d60bcb00cacca7a2.png
  1. 新建需要导入的表,确保导入之前的表和导入后的表结构一致(相同的列簇)
create 'fileTableNew','fileInfo','saveInfo'
  1. 执行导入语句
./hbase org.apache.hadoop.hbase.mapreduce.Import fileTableNew /usr/local/hbase/fileTable.db
2c1ce124075d7f1b67b743be646f468c.png

快照的处理

创建快照

snapshot 'myTable','myTableSnapshot-181210'

克隆快照

clone_snapshot 'myTableSnapshot-181210', 'myNewTestTable'

列出快照

list_snapshots

删除快照

delete_snapshot 'myTableSnapshot-181210'

恢复数据

disable 'myTable'restore_snapshot 'myTableSnapshot-181210'
c6d71f1aa3d224506093d1c728a3a9bc.png
42ffcb02431c0c7464a5469156788940.png

查看Hadoop集群信息

  1. http://ip:50070 http://ip:50070/jmx可以看到json格式的消息,也可以通过编码获取值,http://ip:50070/jmx?qry=,比如 http://192.168.239.134:50070/jmx?qry=java.lang:type=MemoryPool,name=Survivor%20Space

查看hbase集群信息

  1. http://ip:16010 http://ip:16010/jmx,同样也可以通过qry进行过滤
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值