# 备份HDFS业务数据
#### 操作场景
为了确保HDFS日常用户的业务数据安全，或者系统管理员需要对HDFS进行重大操作（如升级或迁移等），需要对HDFS数据进行备份，从而保证系统在出现异常或未达到预期结果时可以及时进行数据恢复，将对业务的影响降到最低。
用户可以通过FusionInsight Manager创建备份HDFS业务数据任务，系统支持自动或手动进行数据备份。
MRS集群支持多种数据路径类型备份HDFS业务数据：
- RemoteHDFS：将备份文件保存在备集群的HDFS目录。
- NFS：将备份文件通过NFS协议保存在NAS中。
- CIFS：将备份文件通过CIFS协议保存在NAS中。
- SFTP：将备份文件通过SFTP协议保存到服务器中。
- OBS：将备份文件保存在OBS中。
 
#### 约束与限制
- 加密目录不支持备份恢复。
- MRS 3.5.0及之后版本，支持将HDFS业务数据备份至OBS。
- 备份到除HDFS以外的其他存储介质（例如OBS、SFTP、CIFS等）时，由于存储介质本身不支持保存时间、属组、quota等属性，所以在恢复之后无法恢复上述属性。
 
#### 前提条件
- 如果数据要备份至远端HDFS中，需满足以下条件：
  - 需要准备一个用于备份数据的备集群，认证模式需要与主集群相同。
  
  - 如果主集群部署为安全模式，且主备集群不是由同一个FusionInsight Manager管理，则必须配置系统互信，请参见[配置MRS集群间互信](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0354.html)。如果主集群部署为普通模式，则不需要配置互信。
  
  - 主备集群必须已配置跨集群拷贝，请参见[启用MRS集群间拷贝功能](https://support.huaweicloud.com/usermanual-mrs/mrs_01_300047.html)。
  
  - 主备集群上的时间必须一致，而且主备集群上的NTP服务必须使用同一个时间源。
  
  - 检查备集群HDFS是否有充足的空间，备份文件保存的目录建议使用用户自定义的目录。
   

- 根据业务需要，规划备份任务的类型、周期、备份对象、备份目录和备份任务需要使用的Yarn队列等策略规格。
- 使用HDFS客户端，以"hdfs"用户执行**hdfs lsSnapshottableDir**检查当前集群中已创建HDFS快照的目录清单，确保待备份的数据文件所在HDFS路径的父目录或子目录不存在HDFS快照，否则无法创建备份任务。
- 如果数据要备份至NAS中，需要满足以下条件，否则可能导致备份任务失败：
  - 需要提前部署好NAS服务端，并确保NAS服务器IP与集群内节点网络互通，且NAS磁盘具有挂载到每一个NodeManager节点的能力。
  
  - NAS的并发数：不小于备份任务配置的"最大map数"。配置参数参考[步骤 8]获取。
  
  - NAS的带宽：不小于备份任务配置的"最大map数" \* "单个map的最大带宽(MB/s)"。配置参数参考[步骤 8]获取。
   
- 如果数据要备份至OBS中，需要当前集群已对接OBS，并具有访问OBS的权限。
 
#### 备份HDFS业务数据
1. 登录MRS集群Manager界面。 
   登录集群Manager界面请参考[访问MRS集群Manager](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0128.html)。
   
   
2. 选择"运维 \> 备份恢复 \> 备份管理"。
3. 单击"创建"。
4. 在"任务名称"填写备份任务的名称。
5. 在"备份对象"选择待操作的集群。
6. 在"备份类型"选择备份任务的运行类型。 
   "周期备份"表示按周期自动执行备份，"手动备份"表示由手工执行备份。
   表1周期备份参数 
   | 参数  | 示例                            | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   |:---|:---|:---|
   | 开始时间   | **2024/11/22** **10:29:11** | 任务第一次启动的时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 周期    | **1天**                   | 任务下次启动，与上一次运行的时间间隔，支持按"小时"或按"天"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | 备份策略 | **首次全量备份** **，后续增量备份**    | - 首次全量备份，后续增量备份。  - 每次都全量备份。  - 每n次进行一次全量备份。   备份Manager数据和组件元数据时不支持增量备份，仅支持"每次都全量备份"。 如果"路径类型"要使用NFS或CIFS，不能使用增量备份功能。因为在NFS或CIFS备份时使用增量备份时，每次增量备份都会刷新最近一次全量备份的备份数据，所以不会产生新的恢复点。 |
      
   
   
7. 在"备份配置"，勾选"HDFS"。
8. 在"HDFS"的"路径类型"，选择一个备份目录的类型。
   
   表2备份数据 
   | 路径类型                 | 配置参数              | 参数描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   |:---|:---|:---|
   | RemoteHDFS           | 目的端NameService名称 | 备集群的NameService名称。 - 可以输入集群内置的远端集群的NameService名称（haclusterX，haclusterX1，haclusterX2，haclusterX3，haclusterX4）。  - 也可以输入其他已配置的远端集群NameService名称。   |
   | RemoteHDFS           | IP 模式              | 目标IP的IP地址模式。系统会根据集群网络类型自动选择对应的IP模式，如IPv4或者IPv6。                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | RemoteHDFS           | 目的端NameNode IP地址    | 备集群NameNode业务平面IP地址，支持主节点或备节点。                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | RemoteHDFS           | 目的端路径              | 备集群保存备份数据的HDFS目录。 - 不支持填写HDFS中的隐藏目录，例如快照或回收站目录。  - 不支持默认的系统目录，例如"/hbase"或"/user/hbase/backup"。                                      |
   | RemoteHDFS           | 最大备份数              | 备份目录中可保留的备份文件集数量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | RemoteHDFS           | 队列名称                 | 备份任务执行时使用的Yarn队列的名称。 需和集群中已存在且状态正常的队列名称相同。                                                                                                                                                                                                                                                                                                                                                                           |
   | RemoteHDFS           | 最大map数            | 执行MapReduce任务的最大map数，默认值为"20"。                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | RemoteHDFS           | 单个map的最大带宽(MB/s)  | 单个map最大带宽，默认值为"100"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | RemoteHDFS           | NameService名称   | 备份目录对应的NameService名称。默认值为"hacluster"。                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | NFS                  | IP 模式               | 目标IP的IP地址模式。系统会根据集群网络类型自动选择对应的IP模式，如IPv4或者IPv6。                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | NFS                  | 服务器IP地址            | NAS服务器IP地址。                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | NFS                  | 最大备份数           | 备份目录中可保留的备份文件集数量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | NFS                  | 服务器共享路径             | 用户配置的NAS服务器共享目录。 服务器共享路径不能设置为根目录，且共享路径的用户组和属组必须为nobody:nobody。                                                                                                                                                                                                                                                                                                                                                          |
   | NFS                  | 队列名称                | 备份任务执行时使用的YARN队列的名称。 需和集群中已存在且状态正常的队列名称相同。                                                                                                                                                                                                                                                                                                                                                                           |
   | NFS                  | 最大map数             | 执行MapReduce任务的最大map数，默认值为"20"。                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | NFS                  | 单个map的最大带宽(MB/s)   | 单个map最大带宽，默认值为"100"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | NFS                  | NameService名称     | 备份目录对应的NameService名称。默认值为"hacluster"。                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | CIFS                 | IP 模式            | 目标IP的IP地址模式。系统会根据集群网络类型自动选择对应的IP模式，如IPv4或者IPv6。                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | CIFS                 | 服务器IP地址            | NAS服务器IP地址。                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | CIFS                 | 端口号               | CIFS协议连接NAS服务器使用的端口号。默认值为"445"。                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | CIFS                 | 用户名             | 配置CIFS协议时设置的用户名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | CIFS                 | 密码               | 配置CIFS协议时设置的密码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | CIFS                 | 最大备份数           | 备份目录中可保留的备份文件集数量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | CIFS                 | 服务器共享路径            | 用户配置的NAS服务器共享目录。 服务器共享路径不能设置为根目录，且共享路径的用户组和属组必须为nobody:nobody。                                                                                                                                                                                                                                                                                                                                                     |
   | CIFS                 | 队列名称              | 备份任务执行时使用的YARN队列的名称。 需和集群中已存在且状态正常的队列名称相同。                                                                                                                                                                                                                                                                                                                                                                             |
   | CIFS                 | 最大map数          | 执行MapReduce任务的最大map数，默认值为"20"。                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | CIFS                 | 单个map的最大带宽(MB/s)  | 单个map最大带宽，默认值为"100"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | CIFS                 | NameService名称     | 备份目录对应的NameService名称。默认值为"hacluster"。                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | SFTP                  | IP 模式              | 目标IP的IP地址模式。系统会根据集群网络类型自动选择对应的IP模式，如IPv4或者IPv6。                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | SFTP                  | 服务器IP地址           | 备份数据的服务器IP地址。                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | SFTP                  | 端口号               | SFTP协议连接备份服务器使用的端口号。默认值为"22"。                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | SFTP                  | 用户名             | 使用SFTP协议连接服务器时的用户名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | SFTP                  | 密码               | 使用SFTP协议连接服务器时的密码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | SFTP                  | 服务器共享路径          | SFTP服务器上的备份路径。                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | SFTP                  | 最大备份数            | 备份目录中可保留的备份文件集数量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | SFTP                  | 队列名称             | 备份任务执行时使用的YARN队列的名称。 需和集群中已存在且状态正常的队列名称相同。                                                                                                                                                                                                                                                                                                                                                                            |
   | SFTP                  | 最大map数           | 执行MapReduce任务的最大map数，默认值为"20"。                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | SFTP                  | 单个map的最大带宽(MB/s)  | 单个map最大带宽，默认值为"100"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | SFTP                  | NameService名称     | 备份目录对应的NameService名称。默认值为"hacluster"。                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | OBS（仅MRS 3.5.0及之后版本支持） | 目的端路径               | 保存备份数据的OBS目录。                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | OBS（仅MRS 3.5.0及之后版本支持） | 最大备份数               | 备份目录中可保留的备份文件集数量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | OBS（仅MRS 3.5.0及之后版本支持） | 队列名称               | 备份任务执行时使用的YARN队列的名称。 需和集群中已存在且状态正常的队列名称相同。                                                                                                                                                                                                                                                                                                                                                                        |
   | OBS（仅MRS 3.5.0及之后版本支持） | 最大map数              | 执行MapReduce任务的最大map数，默认值为"20"。                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | OBS（仅MRS 3.5.0及之后版本支持） | 单个map的最大带宽(MB/s)   | 单个map最大带宽，默认值为"100"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
      
   
   
9. 在"最大恢复点个数"填写备份任务在本集群中备份可保留的快照数量。
10. 在HDFS"备份内容"中，根据业务需要选择一个或多个需要备份的HDFS目录。 
    支持两种方式选择备份数据：
    - 添加备份数据文件 单击导航中某个数据库的名称，将展开显示此数据库中的所有表，勾选指定的表。
      MRS 3.2.0及之后版本：
      1. 单击"添加"。
      
      2. 在"文件目录"框内选择要备份的表，单击"添加"添加到"备份文件"框内。
      
      3. 单击"确定"添加备份数据文件。
       
    
    - 正则表达式筛选
      1. 单击"正则表达式输入"。
      
      2. 根据界面提示，在第一个输入框填写目录的父目录完整路径，需要与当前存在的目录完全匹配。例如"/tmp"。
      
      3. 在第二个输入框输入正则表达式，支持标准正则表达式。例如要筛选父目录中所有的文件或子目录，输入"(\[\\s\\S\]\*?)"。例如要筛选命名规则为字母数字组合的文件，如**file*1***可输入"file\\d\*"。
      
      4. 单击"刷新"，在"目录名称"查看筛选的目录。
      
      5. 单击"同步"保存筛选结果。
      
      
      - **输入正则表达式时，可以使用** ![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000002482871357.png "点击放大")**和** ![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000002449871466.png)**增加或删除一条表达式。**
      
      - **如果已选择的表或目录不正确，可以单击"清除选中节点"清除勾选。**
      
      - **备份目录不可包含长期写入的文件，否则会导致备份任务失败，因此不建议对顶层目录进行操作，例如"/user"、"/tmp"、"/mr-history"。**
       
    
    
    
    
11. 单击"校验"查看备份任务的配置是否正确。 
    校验失败可能存在以下原因：
    - 目的端NameNode IP地址不正确。
    
    - 队列名称不正确。
    
    - 待备份的数据文件所在HDFS路径的父目录或子目录存在HDFS快照。
    
    - 待备份的目录或表不存在。
    
    - NameService名称不正确。
    
    
    
    
12. 单击"确定"保存。
13. 在备份任务列表中已创建任务的"操作"列，选择"更多 \> 即时备份"，开始执行备份任务。 
    备份任务执行完成后，系统自动在备集群的备份路径中为每个备份任务创建子目录，目录名为"*备份任务名* *_* *数据源_* *任务创建时间"*，数据源每次备份的最新备份文件保存在此目录中。所有备份文件集保存在对应的快照目录中。
    
    
 
#### 相关文档
在用户意外修改、删除或需要找回数据时，系统管理员对HDFS进行重大操作（如升级、重大数据调整等）后，系统数据出现异常或未达到预期结果，模块全部故障无法使用，或者迁移数据到新集群的场景中，可以恢复已备份的HDFS业务数据，具体操作请参见[恢复HDFS业务数据](https://support.huaweicloud.com/usermanual-mrs/mrs_01_300073.html)。
