
# 备份Kafka元数据
#### 操作场景
为了确保Kafka元数据安全，或者系统管理员需要对ZooKeeper进行重大操作（如升级或迁移等）时，需要对Kafka元数据进行备份，从而保证系统在出现异常或未达到预期结果时可以及时进行数据恢复，将对业务的影响降到最低。
用户可以通过FusionInsight Manager创建备份Kafka元数据任务，系统支持自动或手动进行数据备份。
MRS集群支持多种数据路径类型备份Kafka元数据：
- LocalDir：将备份文件保存在主管理节点的本地磁盘上，备管理节点将自动同步备份文件。 默认保存目录为"*数据存放路径*/LocalBackup/"，例如"/srv/BigData/LocalBackup"。
  
- LocalHDFS：将备份文件保存在当前集群的HDFS目录。
- RemoteHDFS：将备份文件保存在备集群的HDFS目录。
- NFS：将备份文件通过NFS协议保存在NAS中。
- CIFS：将备份文件通过CIFS协议保存在NAS中。
- OBS：将备份文件保存在OBS中。
#### 约束与限制
MRS 3.1.0及之后版本，支持将Kafka元数据备份至OBS。
#### 前提条件
- 如果数据要备份至远端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服务必须使用同一个时间源。
   
- 根据业务需要，规划备份的类型、周期和策略等规格，并检查主备管理节点"*数据存放路径*/LocalBackup/"是否有充足的空间。

- 如果数据要备份至NAS中，需要提前部署好NAS服务端。
- 如果数据要备份至OBS中，需要当前集群已对接OBS，并具有访问OBS的权限。
 
#### 备份Kafka元数据
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. 在"备份配置"，勾选"Kafka"。
8. 在"Kafka"的"路径类型"，选择一个备份目录的类型。
   
   表2备份数据 
   | 路径类型                                                                                                              | 配置参数             | 参数描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   |:---|:---|:---|
   | LocalDir                                                                                                          | 最大备份数            | 备份目录中可保留的备份文件集数量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | LocalHDFS                                 | 目的端路径            | 备份文件在HDFS中保存的目录。 - 不支持填写HDFS中的隐藏目录，例如快照或回收站目录。  - 不支持默认的系统目录，例如"/hbase"或"/user/hbase/backup"。                                                     |
   | LocalHDFS                                 | 最大备份数            | 备份目录中可保留的备份文件集数量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | LocalHDFS                                 | 目标NameService名称  | 备份目录对应的NameService名称。默认值为"hacluster"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | 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队列的名称。 需和集群中已存在且状态正常的队列名称相同。                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | NFS                                | IP 模式            | 目标IP的IP地址模式。系统会根据集群网络类型自动选择对应的IP模式，如IPv4或者IPv6。                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | NFS                                | 服务器IP地址          | NAS服务器IP地址。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | NFS                                | 服务器共享路径          | 用户配置的NAS服务器共享目录。 服务器共享路径不能设置为根目录，且共享路径的用户组和属组必须为nobody:nobody。                                                                                                                                                                                                                                                                                                                                                                                                  |
   | NFS                                | 最大备份数            | 备份目录中可保留的备份文件集数量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | CIFS             | IP 模式            | 目标IP的IP地址模式。系统会根据集群网络类型自动选择对应的IP模式，如IPv4或者IPv6。                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | CIFS             | 服务器IP地址          | NAS服务器IP地址。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | CIFS             | 端口号              | CIFS协议连接NAS服务器使用的端口号。 默认值为"445"。                                                                                                                                                                                                                                                                                                                                                                                                                              |
   | CIFS             | 用户名              | 配置CIFS协议时设置的用户名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | CIFS             | 密码               | 配置CIFS协议时设置的密码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | CIFS             | 服务器共享路径          | 用户配置的NAS服务器共享目录。 服务器共享路径不能设置为根目录，且共享路径的用户组和属组必须为nobody:nobody。                                                                                                                                                                                                                                                                                                                                                                                               |
   | CIFS             | 最大备份数            | 备份目录中可保留的备份文件集数量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | OBS（仅MRS 3.1.0及之后版本支持）                           | 目的端路径            | 保存备份数据的OBS目录。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   | OBS（仅MRS 3.1.0及之后版本支持）                           | 最大备份数            | 备份目录中可保留的备份文件集数量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
      
   
   
9. 单击"确定"保存。
10. 在备份任务列表中已创建任务的"操作"列，选择"更多 \> 即时备份"，开始执行备份任务。 
    备份任务执行完成后，系统自动在备份目录中为每个备份任务创建子目录，目录名为*"备份任务名_任务创建时间"* ，用于保存数据源的备份文件。备份文件的名称为"*版本号_数据源_任务执行时间*.tar.gz"。
    
    
 
#### 相关文档
在用户意外修改、删除或需要找回数据时，系统管理员对ZooKeeper进行重大操作（如升级、重大数据调整等）后，系统数据出现异常或未达到预期结果，导致Kafka组件全部故障无法使用，或者迁移数据到新集群的场景中，可以恢复已备份的Kafka元数据，具体操作请参见[恢复Kafka元数据](https://support.huaweicloud.com/usermanual-mrs/mrs_01_300077.html)。
