- 为防止hadoop集群因version等元数据丢失导致启动报错Namenode not format, 而使得所有数据丢失,需要数据业务备份
- 使用CDH的数据主要为hive, hbase的各表,所以仅需要备份hive,hbase数据(以待hadoop重新格式化后无数据)
文章目录
测试hdfs重新格式化,数据恢复
- 说明1: hdfs手动重新格式化后,/目录没有任何数据, 此时需要创建相关的基本目录:(/hbaes, /user/history)
- 说明2:此次测试,只假定hdfs重新格式化,而cdh使用的mysql数据库的数据是正常的(scm库)
a, hdfs 目录结构: 属组属主
hdfs目录 | 说明 |
---|---|
/hbase/data/ | hbase:hbase ,存放hbase数据 |
/user/history | mapred:hadoop ,存放mapreduce任务数据 ,没有此目录JobHistory会启动失败 |
[root@c6 ~]# hdfs dfs -ls /
Found 3 items
drwxr-xr-x - hbase hbase 0 2020-01-13 11:49 /hbase
drwx-wx-wx - hdfs supergroup 0 2020-01-13 11:49 /tmp
drwxr-xr-x - hdfs supergroup 0 2020-01-13 11:34 /user
[root@c6 ~]# hdfs dfs -ls /user
Found 3 items
drwx------ - hdfs supergroup 0 2020-01-13 11:48 /user/hdfs
drwxr-xr-x - mapred hadoop 0 2020-01-13 11:28 /user/history
drwxr-xr-x - hdfs supergroup 0 2020-01-13 11:34 /user/hive
b, 提前备份hive, hbase数据
## 1,备份hive数据
[root@c6 ~]# hdfs dfs -ls /user/hive/warehouse
Found 2 items
drwxr-xr-x - hdfs supergroup 0 2020-01-13 11:37 /user/hive/warehouse/t1
drwxr-xr-x - hdfs supergroup 0 2020-01-13 11:35 /user/hive/warehouse/test
[root@c6 ~]# hdfs dfs -get /user/hive/warehouse /hive.warehouse
## 2,备份hbase数据: 只需备份有表的namespace( default)
[root@c6 ~]# hdfs dfs -ls /hbase/data
Found 2 items
drwxr-xr-x - hbase hbase 0 2020-01-13 11:39 /hbase/data/default
drwxr-xr-x - hbase hbase 0 2020-01-13 11:49 /hbase/data/hbase
[root@c6 ~]# hdfs dfs -ls /hbase/data/default
Found 1 items
drwxr-xr-x - hbase hbase 0 2020-01-13 11:39 /hbase/data/default/t1
[root@c6 ~]# hdfs dfs -get /hbase/data/default /hbase.data.default
c, 重新格式化hdfs, 恢复hive, hbase数据
注: 保证无数据状态下,hive, hbase服务启动正常
## 1,恢复hive数据
[root@c6 ~]# hdfs dfs -ls /user/hive/warehouse
Found 0 items
[root@c6 ~]# su hdfs
[hdfs@c6 ~]# hdfs dfs -put /hive.warehouse/t1 /user/hive/warehouse/
## 2,恢复hbase数据
[root@c6 ~]# ls /hdfs/hbase.data/default/t1 -R
/hdfs/hbase.data/default/t1:
6172eae317480a6645bc88ba24e66f88
/hdfs/hbase.data/default/t1/6172eae317480a6645bc88ba24e66f88:
f recovered.edits
/hdfs/hbase.data/default/t1/6172eae317480a6645bc88ba24e66f88/f:
360bbc97c6214a81b323c7ed18b759b6
/hdfs/hbase.data/default/t1/6172eae317480a6645bc88ba24e66f88/recovered.edits:
2.seqid
[root@c6 ~]# su hdfs
[hdfs@c6 ~]# hdfs dfs -put /hbase.data/default/t1 /hbase/data/default/
[hdfs@c6 ~]# hdfs dfs -chown -R hbase:hbase /hbase
#修复Hbase数据
[hbase@c6 ~]# hbase hbck -repair #自动修复meta元数据表,使得hbase业务表数据正常访问
根哥的博客
发布了269 篇原创文章 · 获赞 33 · 访问量 9万+
私信
关注