# 备份Doris业务数据
#### 操作场景
为了确保Doris日常用户的业务数据安全，或者集群用户需要对Doris进行重大操作（如升级或迁移等）时，需要对Doris数据进行备份，从而保证系统在出现异常或未达到预期结果时可以及时进行数据恢复，将对业务的影响降到最低。
用户可以通过FusionInsight Manager创建备份Doris业务数据任务，系统支持自动或手动进行数据备份。
MRS集群支持多种数据路径类型备份Doris业务数据：
- RemoteHDFS：将备份文件保存在备集群的HDFS目录。
- OBS：将备份文件保存在OBS中。
 
#### 约束与限制
该章节仅适用于MRS 3.3.1及之后版本集群。
#### 前提条件
- 如果数据要备份至远端HDFS中，需满足以下条件：
  - 需要准备一个用于备份数据的备集群，认证模式需要与主集群相同。
  
  - 主集群内至少需要部署一个Doris服务的DBroker实例。
  
  - 如果主备集群部署为安全模式，且主备集群不是由同一个FusionInsight Manager管理，则必须配置系统互信，请参见[配置MRS集群间互信](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0354.html)。如果主备集群部署为普通模式，则不需要配置互信。
  
  - 备集群上的时间必须与主集群一致，而且主备集群上的NTP服务必须使用同一个时间源。
  
  - 检查备集群HDFS是否有充足的空间，备份文件保存的目录建议使用用户自定义的目录。
  
  - MRS 3.6.0-LTS.1之前版本，需确保主备集群中Doris和HDFS的"hadoop.rpc.protection"配置项的值保持一致。
  
  - MRS 3.6.0-LTS.1版本，需执行以下操作将备集群中HDFS的"hdfs-site.xml"和"core-site.xml"文件上传到主集群的Doris配置中：
    1. 登录备集群Manager界面，选择"集群 \> 服务 \> HDFS"，在页面右上角选择"更多 \> 下载客户端"，客户端类型选择"仅配置文件"，下载位置选择"浏览器"，单击"确定"，下载客户端配置文件到本地并解压，进入客户端配置文件解压路径的"HDFS\\config"目录下获取"hdfs-site.xml"和"core-site.xml"文件。
    
    2. 登录主集群Manager界面，选择"集群 \> 服务 \> Doris \> 配置 \> 全部配置"，在左侧导航栏选择"Doris（服务） \> 自定义"，在"core.site.customized.configs"、"hdfs.site.customized.configs"参数中分别单击"上传文件"按钮上传已获取的"core-site.xml"、"hdfs-site.xml"文件。
    
    3. 单击"保存"保存配置。单击"概览"，选择页面右上方的"更多 \> 重启服务"，输入当前用户密码并单击"确定"重启Doris服务。
     
   
- 根据业务需要，规划备份任务的类型、周期、备份对象、备份目录等策略规格。
- 如果数据要备份至OBS中，需要当前集群已对接OBS，并具有访问OBS的权限。
- MRS 3.6.0及之后版本，如果数据要备份至OBS中，则要求在集群所有节点上，使用**omm** 用户可**ping**通OBS的域名，否则可能因"Failed to get OBS FileSystem for getBucketFsStatus"错误导致数据备份失败。
 
#### 备份Doris业务数据
1. 登录MRS集群Manager界面。 
   登录集群Manager界面请参考[访问MRS集群Manager](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0128.html)。
   
   
2. 选择"运维 \> 备份恢复 \> 备份管理"。
3. 单击"创建"。
4. 在"任务名称"填写备份任务的名称。
5. 在"备份对象"选择待操作的集群。
6. 在"备份类型"选择备份任务的运行类型，包括： 
   - 周期备份：表示按周期自动执行备份，若选择周期备份，还需参考[表1]配置其他参数。
   
   - 手动备份：表示由手工执行备份。
   
   
    表1周期备份参数 
   | 参数名称   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   |:---|:---|
   | 开始时间   | 任务第一次启动的时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | 周期     | 任务下次启动与上一次运行的时间间隔，支持按"小时"或按"天"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | 备份策略 | - 首次全量备份，后续增量备份。  - 每次都全量备份。  - 每n次进行一次全量备份。   Doris目前仅支持"每次都全量备份"，不支持增量备份。 |
      
   
   
7. 在"备份配置"，勾选"业务数据"下的"Doris"。
8. 在"Doris "的"路径类型"，选择一个备份目录的类型。 
   表2备份目录类型 
   | 路径类型       | 配置参数              | 参数描述                                                                                                                                                                                                                                                                                   |
   |:---|:---|:---|
   | RemoteHDFS | 目的端NameService名称 | 备集群的NameService名称。 可在备集群HDFS服务的"管理NameService"页面获取，例如"hacluster"。                                                                                                                                                                                      |
   | RemoteHDFS | IP 模式              | 目标IP的IP地址模式。系统会根据集群网络类型自动选择对应的IP模式，如IPv4或者IPv6。                                                                                                                                                                                                                                          |
   | RemoteHDFS | 目的端NameNode IP地址    | 备集群主NameNode业务平面IP地址。                                                                                                                                                                                                                                                                    |
   | RemoteHDFS | 目的端NameNode RPC端口  | 目的端集群HDFS配置"dfs.namenode.rpc.port"的参数值。                                                                                                                                                                                                                                                 |
   | RemoteHDFS | DBroker IP地址      | 填写一个本集群DBroker角色的业务平面IP地址，该DBroker将用于备份时传输数据。                                                                                                                                                                                                                                         |
   | RemoteHDFS | 目的端路径           | 备集群保存备份数据的HDFS目录。 - 不支持填写HDFS中的隐藏目录，例如快照或回收站目录。  - 不支持默认的系统目录，例如"/hbase"或"/user/hbase/backup"。   |
   | OBS        | 目的端路径             | 保存备份数据的OBS目录。                                                                                                                                                                                                                                                                            |
      
   
   
9. 在"最大恢复点个数"填写备份任务在本集群中备份可保留的快照数量。
10. 在"备份内容"中，选择一个或多个需要备份的Doris表。 
    支持两种方式选择备份数据：
    - 添加备份数据文件 单击导航中某个数据库的名称，将展开显示此数据库中的所有表，勾选指定的表。
      
    
    
    
    - 正则表达式筛选
      1. 单击"正则表达式输入"。
      
      2. 根据界面提示，在第一个输入框填入Doris表所在的数据库，需要与当前存在的数据库完全匹配，例如"/example_db"。
      
      3. 在第二个框输入正则表达式，支持标准正则表达式。例如要筛选数据库中包含test关键字的所有的表，输入".\*test.\*"。
      
      4. 单击"刷新"，在"目录名称"查看筛选的表。
      
      5. 单击"同步"保存筛选结果。
      
      
      - 输入正则表达式时，可以使用![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000002295265529.png "点击放大")和![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000002260632336.png)增加或删除一条表达式。
      
      - 如果已选择的表或目录不正确，可以单击"清除选中节点"清除勾选。
       
    
    
    
    
11. 单击"校验"查看备份任务的配置是否正确。 
    校验失败可能存在以下原因：
    - 目的端NameNode IP地址不正确。
    
    - NameService名称不正确。
    
    - 待备份表不存在。
    
    - 待备份表格式不正确，要选择到具体的表。
    
    - 待备份表需要来自同一个数据库。
    
    
    
    
12. 单击"确定"保存。
13. 在备份任务列表中已创建任务的"操作"列，选择"更多 \> 即时备份"，开始执行备份任务。 
    备份任务执行完成后，系统自动在备集群的备份路径中为每个备份任务创建子目录，目录名为*"备份任务名* *_* *数据源_* *任务创建时间"*，数据源每次备份的最新备份文件保存在此目录中。所有备份文件集保存在对应的快照目录中。
    
    
 
#### 常见问题
如果数据要备份至OBS中，则要求在集群所有节点上，使用**omm** 用户可**ping**通OBS的域名，否则可能因"Failed to get OBS FileSystem for getBucketFsStatus"错误导致数据备份失败。
常见**ping**不通的OBS域名的原因有：集群节点上"/etc/resolve.conf"文件不存在、该文件的权限为640、或该文件内容为空。
图1备份Doris数据至OBS报错   
![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000002396031185.png "点击放大")
#### 相关文档
在用户意外修改、删除或需要找回数据时，系统管理员对Doris进行重大操作（如升级、重大数据调整等）后，系统数据出现异常或未达到预期结果，模块全部故障无法使用，或者迁移数据到新集群的场景中，可以恢复已备份的Doris业务数据，具体操作请参见[恢复Doris业务数据](https://support.huaweicloud.com/usermanual-mrs/admin_guide_000424.html)。
