更新时间:2022-12-14 GMT+08:00

恢复ClickHouse元数据

操作场景

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

集群用户可以通过FusionInsight Manager创建恢复ClickHouse任务。只支持创建任务手动恢复数据。

  • 该功能仅MRS 3.1.0及之后版本支持。
  • 只支持进行数据备份时的系统版本与当前系统版本一致时的数据恢复。
  • 当业务正常时需要恢复ClickHouse元数据,建议手动备份最新ClickHouse元数据后,再执行恢复ClickHouse元数据操作。否则会丢失从备份时刻到恢复时刻之间的ClickHouse元数据。
  • ClickHouse元数据恢复和业务数据恢复不能同时进行操作,否则会导致业务数据恢复失败。建议元数据恢复完成后再进行业务数据恢复。

对系统的影响

  • 元数据恢复后,会丢失从备份时刻到恢复时刻之间的数据。
  • 元数据恢复后,需要重新启动ClickHouse的上层应用。

前提条件

  • 检查ClickHouse元数据备份文件保存路径。
  • 如果需要从远端HDFS恢复数据,需要准备备集群。如果主集群部署为安全模式,且主备集群不是由同一个FusionInsight Manager管理,则必须配置系统互信,请参见配置跨Manager集群互信。如果主集群部署为普通模式,则不需要配置互信。

操作步骤

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

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

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

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

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

    选择不同的备份目录时,对应设置如下:

    • “LocalDir”:表示从主管理节点的本地磁盘上恢复数据。

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

      • “源端路径”:表示要恢复的备份文件。例如,“备份任务名_数据源_任务执行时间.tar.gz”。
      • “逻辑集群”:填写备份数据的ClickHouse逻辑集群
    • “RemoteHDFS”:表示从备集群的HDFS目录恢复数据。
      选择此参数值,还需要配置以下参数:
      • “源端NameService名称”:填写备份数据集群的NameService名称。可在备集群HDFS服务的“管理NameService”页面获取,例如“hacluster”。
      • “IP 模式”:目标IP的IP地址模式。系统会根据集群网络类型自动选择对应的IP模式,如IPv4或者IPv6。
      • “源端NameNode IP地址”:填写备集群NameNode业务平面IP地址,支持主节点或备节点。
      • “源端路径”:填写备集群保存备份数据的完整HDFS路径。例如,“备份路径/备份任务名_数据源_任务创建时间/数据源_任务执行时间.tar.gz”。

  9. 单击“确定”保存。
  10. 在恢复任务列表已创建任务的“操作”列,单击“执行”,在弹出窗口上继续单击“确定”,开始执行恢复任务。

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

  11. 在“集群 > 服务”页面,启动ClickHouse服务。