记一次测试环境Hbase数据备份恢复以及恢复后部分表无法删除的问题处理

一、Hbase数据备份恢复

说明:

因为测试环境要修改hadoop配置文件hdfs-site.xml的参数hdfs.rootdir

修改前的配置

<property>

<name>hbase.rootdir</name>

<value>hdfs://masters/hbase1</value>

</property>

修改后的配置

<property>

<name>hbase.rootdir</name>

<value>hdfs://masters/hbase</value>

</property>

所以修改之后原来存在hbase1的表都不能用了,需要做下备份,然后把表导入到hbase中。

具体的处理过程如下所示:

1、停止hbase服务

登录hbase主节点

$ cd $HBASE_HOME/bin

$ stop-hbase.sh

2、备份hbase1

检查hbase1的大小

$ ./hdfs dfs -du -s -h /hbase1

2.8 G  /hbase1

备份

登录hadoop主节点

$ cd $HADOOP_HOME/bin

$ ./hadoop distcp hdfs://192.168.22.178:9000/hbase1 hdfs://192.168.22.178:9000/backuphbase

执行的过程中出现部分任务失败的信息,如下所示:

INFO tools.DistCp: Input Options: DistCpOptions{atomicCommit=false, syncFolder=false, deleteMissing=false, ignoreFailures=false, maxMaps=20, sslConfigurationFile='null', copyStrategy='uniformsize', sourceFileListing=null

Caused by: java.io.IOException: Couldn't run retriable-command: Copying

不知道什么情况,先忽略

查看备份文件的大小

bin]$ ./hdfs dfs -du -s -h /backuphbase

2.8 G  /backuphbase

删除hbase1

$ ./hdfs dfs -rm -R /hbase1

18/06/15 10:58:10 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 0 minutes, Emptier interval = 0 minutes.

Deleted /hbase1

3、恢复文件到hbase

$ ./hdfs dfs -mkdir /hbase

$ ./hadoop distcp hdfs://192.168.22.178:9000/backuphbase/* hdfs://192.168.22.178:9000/hbase

二、恢复后部分表无法删除的问题处理

1、启动hbase服务

$ cd $HBASE_HOME/bin

$ start-hbase.sh

2、发现问题

浏览器输入http://192.168.22.178:16010

发现有两个表(table1和table2)的Other Regions列值为1,其他都为0,接下来在删除这个表的过程中发现也不能成功执行,删除过程如下:

$ cd $HBASE_HOME/bin

$ ./hbase shell

hbase(main):001:0> disable 'table1'

hbase(main):001:0> drop 'table1'

这里执行删除表的命令时会卡死,另一个表也是这种情况。

3、解决问题

3.1、在hdfs文件系统中删除两个表的文件

$ cd $HADOOP_HOME/bin

$ ./hdfs dfs -rm -r /hbase/data/default/table1

$ ./hdfs dfs -rm -r /hbase/data/default/table2

3.2、在ZK中删除两个表的文件

登录ZK节点

$ cd $ZK_HOME/bin

$ ./zkCli.sh

[zk: localhost:2181(CONNECTED) 1] rmr /hbase/table/table1

[zk: localhost:2181(CONNECTED) 2] rmr /hbase/table/table2

3.3、重启服务

重启服务流程

关闭hbase集群-->关闭hadoop集群-->启动hadoop集群-->启动hbase集群

启动完成后在web界面发现两个表都消失了

原文地址:http://blog.51cto.com/xiaoxiaozhou/2129906

时间: 2024-10-07 06:09:14

记一次测试环境Hbase数据备份恢复以及恢复后部分表无法删除的问题处理的相关文章

HBase 数据备份

HBase提供了备份API,直接使用shell脚本可以叫它.如下面的命令的详细信息: hbase org.apache.hadoop.hbase.mapreduce.Export 'user' /hbase_backup_set/20141110/user hbase org.apache.hadoop.hbase.mapreduce.Import 'user' /hbase_backup_set/20141110/user "user"为备份的HBase对于的数据库名称,"

Redis数据备份和重启恢复

一.对Redis持久化的探讨与理解 目前Redis持久化的方式有两种: RDB 和 AOF 首先,我们应该明确持久化的数据有什么用,答案是用于重启后的数据恢复. Redis是一个内存数据库,无论是RDB还是AOF,都只是其保证数据恢复的措施. 所以Redis在利用RDB和AOF进行恢复的时候,都会读取RDB或AOF文件,重新加载到内存中. RDB就是Snapshot快照存储,是默认的持久化方式. 可理解为半持久化模式,即按照一定的策略周期性的将数据保存到磁盘. 对应产生的数据文件为dump.rd

Oracle数据块损坏的恢复实例

测试环境:11.2.0.4 1.构建数据块损坏的测试环境 2.有备份:常规恢复坏块 3.无备份:跳过坏块 1.构建数据块损坏的测试环境 1.1 创建测试表 --Create Table t_test conn jingyu/jingyu drop table t_test purge; create table t_test (id number, name char(2000)); --Insert data insert into t_test values(1, 'alfred 1');

测试环境搭建及维护

搭建良好的测试环境是执行测试用例的前提,也是完成测试任务顺利完成的保证.测试环境大体可分为硬件环境和软件环境,硬件环境包括测试必须的PC机,服务器,设备,网线,分配器等硬件设备:软件环境包括数据库,操作系统,被测试软件,共存软件等:特殊条件下还要考虑网络环境,比如网络带宽,IP地址设置等. 搭建测试环境前后要注意以下几点: 1>搭建测试环境前,确定测试目的 即是功能测试,稳定性测试,还是性能测试,测试目的不同,搭建测试环境时应注意的点也不同.比如要进行功能测试,那么我们就不需要大量的数据,需要覆

MySQL-06 数据备份和恢复

学习目标 数据备份 数据恢复 数据库迁移 导入和导出 数据备份 系统意外崩溃或者服务器硬件损坏都有可能导致数据库丢失,因此生产环境中数据备份非常重要. MySQLdump命令备份 该命令可以将数据库备份成一个文件文件,该文件包含了数据定义语句和数据操纵语句,可以执行重新创建数据库表并插入数据. 语法格式: mysqldump -u User -h Host -pPassword DBname[TableName,[TableName...]] > [dump file.sql] 示例:备份mys

测试环境docker化(一)—基于ndp部署模式的docker基础镜像制作

本文来自网易云社区 作者:孙婷婷 背景 我所在测试项目组目前的测试环境只有一套,在项目版本迭代过程中,开发或产品偶尔会在测试环境进行数据校验,QA人数在不断增加,各个人员在负责不同模块工作时也会产生脏数据,导致QA在功能测试和接口测试过程中需要清理测试环境增加工作量,同时QA组在进行异常测试等多维度质量保障时也希望有多套环境进行数据隔离.但目前测试环境多套隔离操作麻烦,每隔离一套环境需要修改大量配置.数据库重新建表到调试可用,在开发的帮助下至少需要3天的时间,在这种场景下,我们借鉴组内大数据QA

Spark 读取 HBase 数据

1.pom.xml 版本号 <properties> <hbase.version>2.2.2</hbase.version> <hadoop.version>2.10.0</hadoop.version> <spark.version>2.4.2</spark.version> </properties> 依赖包 <dependencies> <dependency> <grou

全网服务器数据备份方案(模拟生产环境)+邮件告知

使用rsync实现全网数据备份(模拟生产环境)+邮件告知 项目要求来源于网络:http://oldboy.blog.51cto.com/2561410/1856048 假定3台服务器主机名分别为web01.backup.nfs01,主机信息如下表: 服务器说明 内网IP 主机名 nginx web服务器 192.168.1.222 WEB-01 NFS存储服务器 192.168.1.233 NFS-01 rsync备份服务器 192.168.1.244 BACKUP 要求:每天晚上00点整在We

正式环境数据迁移到测试环境及测试环境LAMP搭建

参照正式环境扩展模块来搭建测试环境,否则访问不了 PHP 代码 PDO.PDO_MYSQL.OPENSSL.SSL.CURL等扩展模块 正式环境 Windows Server 2008 R2 X64 Apache+MySQL+PHP+FTP服务 备份MySQL.PHP.APP数据 通过anv软件连接MySQL数据库备份 将 goshop数据库备份,格式为goshop.sql 通过Filezilla软件连接FTP服务,备份PHP及APP数据 正式环境数据备份好后,开始搭建测试环境,将数据上传至测试