更新时间:2024-11-12 GMT+08:00

恢复Hive业务数据

操作场景

在用户意外修改、删除或需要找回数据时,系统管理员对Hive进行重大操作(如升级、重大数据调整等)后,系统数据出现异常或未达到预期结果,模块全部故障无法使用,或者迁移数据到新集群的场景中,需要对Hive进行恢复数据操作。

系统管理员可以通过FusionInsight Manager创建恢复Hive任务并恢复数据。只支持创建任务手动恢复数据。

Hive备份恢复功能不支持识别用户的Hive表、索引、视图等对象在业务和结构上存在的关联关系。用户在执行备份恢复任务时,需要根据业务场景管理统一的恢复点,防止影响业务正常运行。

  • 只支持进行数据备份时的系统版本与当前系统版本一致时的数据恢复。
  • 当业务正常时需要恢复数据,建议手动备份最新管理数据后,再执行恢复数据操作。否则会丢失从备份时刻到恢复时刻之间的Hive数据。

对系统的影响

  • 恢复过程中会停止用户认证,用户无法开始新的连接。
  • 数据恢复后,会丢失从备份时刻到恢复时刻之间的数据。
  • 数据恢复后,需要重新启动Hive的上层应用。

前提条件

  • 如果需要从远端HDFS恢复数据,需要准备备集群,且已完成数据备份,详细操作请参见备份Hive业务数据。如果主集群部署为安全模式,且主备集群不是由同一个FusionInsight Manager管理,则必须配置系统互信,请参见配置MRS集群间互信。如果主集群部署为普通模式,则不需要配置互信。
  • 主备集群必须已配置跨集群拷贝,请参见启用MRS集群间拷贝功能
  • 主备集群上的时间必须一致,而且主备集群上的NTP服务必须使用同一个时间源。
  • 规划好恢复数据保存表的数据库,数据表在HDFS的保存位置,以及访问恢复数据的用户清单。
  • 检查Hive备份文件保存路径。
  • 停止Hive的上层应用。

恢复Hive业务数据

  1. 在FusionInsight Manager,选择“运维 > 备份恢复 > 备份管理”。
  2. 在任务列表指定任务的“操作”列,选择“更多 > 查询历史”,打开备份任务执行历史记录。

    在弹出的窗口中,在指定一次执行成功记录的“备份路径”列,单击“查看”,打开此次任务执行的备份路径信息,查找以下信息:

    • “备份对象”表示备份的数据源。
    • “备份路径”表示备份文件保存的完整路径。

      选择正确的项目,在“备份路径”手工选中备份文件的完整路径并复制。

  3. 在FusionInsight Manager,选择“运维 > 备份恢复 > 恢复管理”。
  4. 单击“创建”。
  5. 在“任务名称”填写恢复任务的名称。
  6. 在“恢复对象”选择待操作的集群。
  7. 在“恢复配置”,勾选“Hive”。
  8. 在“Hive”的“路径类型”,选择一个备份目录的类型。

    备份目录支持以下类型:

    • “RemoteHDFS”:表示将备份文件保存在备集群的HDFS目录。选择此参数值,还需要配置以下参数:
      • “源端NameService名称”:填写备份数据集群的NameService名称。可以输入集群内置的远端集群的NameService名称:haclusterX,haclusterX1,haclusterX2,haclusterX3,haclusterX4;也可输入其他已配置的远端集群NameService名称。
      • “IP 模式”:目标IP的IP地址模式。系统会根据集群网络类型自动选择对应的IP模式,如IPv4或者IPv6。
      • “源端NameNode IP地址”:填写备集群NameNode业务平面IP地址,支持主节点或备节点。
      • “源端路径”:填写备集群保存备份数据的完整HDFS路径。例如,“备份路径/备份任务名_数据源_任务创建时间/”。
      • “队列名称”:填写备份任务执行时使用的YARN队列的名称。
      • “恢复点列表”:单击“刷新”,然后选择一个备集群上已备份的Hive备份文件集。
      • “目标NameService名称”:选择备份目录对应的目标NameService名称。默认值为“hacluster”。
      • “最大map数”:填写执行MapReduce任务的最大map数,默认值为“20”。
      • “单个map的最大带宽(MB/s)”:填写单个map最大带宽,默认值为“100”。
    • “NFS”:表示备份文件通过NFS协议保存在NAS中。选择此参数值,还需要配置以下参数:
      • “IP 模式”:目标IP的IP地址模式。系统会根据集群网络类型自动选择对应的IP模式,如IPv4或者IPv6。
      • “服务器IP地址”:填写NAS服务器IP地址。
      • “源端路径”:填写备份文件在NAS服务器中保存的完整路径。例如,“备份路径/备份任务名_数据源_任务创建时间/”。
      • “队列名称”:填写备份任务执行时使用的YARN队列的名称。
      • “恢复点列表”:单击“刷新”,然后选择一个备集群上已备份的Hive备份文件集。
      • “目标NameService名称”:选择备份目录对应的目标NameService名称。默认值为“hacluster”。
      • “最大map数”:填写执行MapReduce任务的最大map数,默认值为“20”。
      • “单个map的最大带宽(MB/s)”:填写单个map最大带宽,默认值为“100”。
    • “CIFS”:表示备份文件通过CIFS协议保存在NAS中。选择此参数值,还需要配置以下参数:
      • “IP 模式”:目标IP的IP地址模式。系统会根据集群网络类型自动选择对应的IP模式,如IPv4或者IPv6。
      • “服务器IP地址”:填写NAS服务器IP地址。
      • “端口号”:填写CIFS协议连接NAS服务器使用的端口号,默认值为“445”。
      • “用户名”:填写配置CIFS协议时设置的用户名。
      • “密码”:填写配置CIFS协议时设置的密码。
      • “源端路径”:填写备份文件在NAS服务器中保存的完整路径。例如,“备份路径/备份任务名_数据源_任务创建时间/”。
      • “队列名称”:填写备份任务执行时使用的YARN队列的名称。
      • “恢复点列表”:单击“刷新”,然后选择一个备集群上已备份的Hive备份文件集。
      • “目标NameService名称”:选择备份目录对应的目标NameService名称。默认值为“hacluster”。
      • “最大map数”:填写执行MapReduce任务的最大map数,默认值为“20”。
      • “单个map的最大带宽(MB/s)”:填写单个map最大带宽,默认值为“100”。
    • “SFTP”:表示备份文件通过SFTP协议保存到服务器中。
      选择此参数值,还需要配置以下参数:
      • “IP 模式”:目标IP的IP地址模式。系统会根据集群网络类型自动选择对应的IP模式,如IPv4或者IPv6。
      • “服务器IP地址”:填写备份数据的服务器IP地址。
      • “端口号”:填写SFTP协议连接备份服务器使用的端口号,默认值为“22”。
      • “用户名”:填写使用SFTP协议连接服务器时的用户名。
      • “密码”:填写使用SFTP协议连接服务器时的密码。
      • “源端路径”:填写备份文件在备份服务器中保存的完整路径。例如,“备份路径/备份任务名_数据源_任务创建时间/”。
      • “队列名称”:填写备份任务执行时使用的YARN队列的名称。
      • “恢复点列表”:单击“刷新”,然后选择一个备集群上已备份的HDFS目录。
      • “目标NameService名称”:选择备份目录对应的目标NameService名称。默认值为“hacluster”。
      • “最大map数”:填写执行MapReduce任务的最大map数,默认值为“20”。
      • “单个map的最大带宽(MB/s)”:填写单个map最大带宽,默认值为“1”。
    • “OBS”:表示将备份文件保存在OBS中(仅MRS 3.5.0及之后版本支持)。

      选择此参数值,还需要配置以下参数:

      • “源端路径”:填写备份文件在OBS中保存的完整路径。例如,“备份路径/xxx/备份任务名_数据源_任务创建时间/版本号_数据源_任务执行时间.tar.gz”。
      • “队列名称”:填写备份任务执行时使用的YARN队列的名称。
      • “恢复点列表”:单击“刷新”,然后选择一个已备份的OBS目录。
      • “目标NameService名称”:选择备份目录对应的目标NameService名称。默认值为“hacluster”。
      • “最大map数”:填写执行MapReduce任务的最大map数,默认值为“20”。
      • “单个map的最大带宽(MB/s)”:填写单个map最大带宽,默认值为“100”。

  9. 在“数据配置”的“数据选择”中,根据业务需要勾选一个或多个需要恢复的已备份数据,并分别在“目标数据库”和“目标路径”列,指定备份数据恢复后的数据库和文件保存位置。

    配置约束:

    • 支持恢复到原数据库,但数据表保存在一个与目的端路径不同的新路径。
    • 如果恢复Hive的索引表,请同时选择恢复索引表对应的Hive数据表。
    • 如果为了防止影响当前数据,选择了新的恢复目录,那么新目录需要手动授予HDFS权限,使对备份表拥有权限的用户可以访问此目录。
    • 支持恢复到其他数据库。如果恢复到其他数据库,那么此数据库对应在HDFS中的目录,需要手动授予HDFS权限,使对备份表拥有权限的用户可以访问此目录。

  10. 在“强制覆盖”选择“true”,表示存在同名数据表时强制恢复备份的所有数据,如果数据表中存在备份后新增加的数据,那恢复后将丢失这些数据。选择“false”表示存在同名表时不执行恢复任务。
  11. 单击“校验”查看恢复任务的配置是否正确。

    • 如果队列名称不正确,校验失败。
    • 如果不存在指定的恢复目录,校验失败。
    • 如果不满足强制覆盖的条件,校验失败。

  12. 单击“确定”保存。
  13. 在恢复任务列表已创建任务的“操作”列,单击“执行”,开始执行恢复任务。

    • 恢复成功后进度显示为绿色。
    • 恢复成功后此恢复任务不支持再次执行。
    • 如果恢复任务在第一次执行时由于某些原因未执行成功,在排除错误原因后单击“重试”,重试恢复任务。