如何备份恢复HDFS元数据-文件级备份?

Cloudera-Hadoop

1 基础知识

1.1 备份的目的

– 当两个名称节点(NameNode)角色都失败是,HDFS元数据备份可用于还原名称节点
– Cloudera建议在进行重大升级之前备份HDFS元数据

1.2 备份要求

– 停止集群,重点是停止名称节点以便达到数据备份的一致性要求

2 最佳实践

2.1 备份HDFS元数据

2.1.1 检查是否包含使用锁文件

ls /data/dfs/nn/in_use.lock

如果包含如下文件,请先停止集群或等待集群停止后再操作,

ls /data/dfs/nn/in_use.lock

2.1.2 备份名称节点数据

cd /data/dfs/nn
tar -cvf /backup/nn_backup_data.tar .

注:备份目录“/backup”请自行准备

2.2 恢复HDFS元数据

2.2.1 删除HDFS的角色

删除以下角色,
– NameNode
– JournalNode
– Failover Controller
假设,我们清理如下角色数据,
– hd[03-05].cmdschool.org <—> HDFS JournalNode
– hd[01-02].cmdschool.org <—> HDFS NameNode HDFS Failover Controller
如果底层的数据与备份的不一致,建议你清理名称节点的目录,
In hd[01-02].cmdschool.org,

rm -rf /data/dfs/nn/

另外,如果恢复节点有第二名称节点目录,也需要清除,

rm -rf /data/dfs/snn/

2.2.2 恢复主节点和第二名称节点角色

– 恢复名称主节点角色(请不要启动,即恢复hd01.cmdschool.org的HDFS NameNode角色)
– 恢复第二名称节点角色(请不要启动,即恢复hd02.cmdschool.org的HDFS SecondaryNameNode角色)

2.2.3 恢复数据到名称主节点

In hd01.cmdschool.org,

mkdir /data/dfs/nn
chown hdfs:hdfs /data/dfs/nn
cd /data/dfs/nn/
tar -xf /backup/nn_backup_data.tar

2.2.4 手动启动节点角色

– 启动名称主节点角色
– 启动第二名称节点角色
– 启动所有数据节点

2.2.5 恢复HDFS集群的HA角色

– 由于不是本章重点,这里不再详述

参阅文档
===================================
https://docs.cloudera.com/documentation/enterprise/5-10-x/topics/cm_mc_hdfs_metadata_backup.html

没有评论

发表回复

Cloudera-Hadoop
如何平衡Hadoop数据节点?

1 前言 一个问题,一篇文章,一出故事。 笔者生产环境有一套Hadoop平台需要自动平衡数据节点的数 …

Bash
如何自动备份HDFS Name Node?

1 前言 之前的章节手动完成Hadoop HDFS的NameNode节点备份,本章重点是实现名称节点 …

Cloudera-Hadoop
如何备份恢复HDFS元数据-逻辑级备份?

1 基础知识 1.1 备份命令的简介 – 备份命令用于防止所有名称节点都不可用的情况下可 …