更新时间:2024-09-04 GMT+08:00

备份ClickHouse元数据

操作场景

为了确保ClickHouse集群中的元数据安全,或者集群用户需要对ClickHouse进行重大操作(如升级或迁移等)时,需要对ClickHouse集群的元数据进行备份,从而保证系统在出现异常或未达到预期结果时可以及时进行数据恢复,将对业务的影响降到最低。

集群用户可以通过FusionInsight Manager创建备份ClickHouse任务并备份元数据。支持创建任务自动或手动备份数据。

该功能仅MRS 3.1.0及之后版本支持。

前提条件

  • 如果数据要备份至远端HDFS中,需满足以下条件:
    • 需要准备一个用于备份数据的备集群,认证模式需要与主集群相同。
    • 如果主集群部署为安全模式,且主备集群不是由同一个FusionInsight Manager管理,则必须配置系统互信,请参见配置MRS集群间互信。如果主集群部署为普通模式,则不需要配置互信。
    • 主备集群上的时间必须一致,而且主备集群上的NTP服务必须使用同一个时间源。
    • 主备集群中,需要确保ClickHouse的“HADOOP_RPC_PROTECTION”配置项的值与HDFS的“hadoop.rpc.protection”配置项的值保持一致。
  • 根据业务需要,规划备份的类型、周期和策略等规格,并检查主备管理节点“数据存放路径/LocalBackup/”是否有充足的空间。

备份ClickHouse元数据

  1. 在FusionInsight Manager,选择“运维 > 备份恢复 > 备份管理”。
  2. 单击“创建”。
  3. 在“任务名称”填写备份任务的名称。
  4. 在“备份对象”选择待操作的集群。
  5. 在“备份类型”选择备份任务的运行类型,“周期备份”表示按周期自动执行备份,“手动备份”表示由手工执行备份。

    创建周期备份任务,还需要填写以下参数:
    • “开始时间”:表示任务第一次启动的时间。
    • “周期”:表示任务下次启动,与上一次运行的时间间隔,支持按“小时”或按“天”。
    • “备份策略”:只支持“每次都全量备份”。

  6. 在“备份配置”,勾选“元数据和其它数据”下的“ClickHouse”。
  7. 在“ClickHouse”的“路径类型”,选择一个备份目录的类型。

    备份目录支持以下类型:
    • “LocalDir”:表示将备份文件保存在主管理节点的本地磁盘上,备管理节点将自动同步备份文件。

      默认保存目录为“数据存放路径/LocalBackup/”,例如“/srv/BigData/LocalBackup”。

      选择此参数值,还需要配置“最大备份数”,表示备份目录中可保留的备份文件集数量。

    • “RemoteHDFS”:表示将备份文件保存在备集群的HDFS目录。

      MRS 3.1.0和MRS 3.1.2版本选择此参数值,需要参考创建ClickHouse备份任务路径选择RemoteHDFS时的环境配置先进行环境配置。

      MRS 3.2.0及之后版本还需要配置以下参数:
      • “目的端NameService名称”:填写备集群的NameService名称。可在备集群HDFS服务的“管理NameService”页面获取,例如“hacluster”。
      • “IP 模式”:目标IP的IP地址模式。系统会根据集群网络类型自动选择对应的IP模式,如IPv4或者IPv6。
      • “目的端主NameNode IP地址”:填写备集群主NameNode业务平面IP地址。
      • “目的端备NameNode IP地址”:填写备集群备NameNode业务平面IP地址。
      • “目的端NameNode RPC端口”:填写目的端集群HDFS基础配置“dfs.namenode.rpc.port”参数值。
      • “目的端路径”:填写备集群保存备份数据的HDFS目录。不支持填写HDFS中的隐藏目录,例如快照或回收站目录;也不支持默认的系统目录,例如“/hbase”或“/user/hbase/backup”。
      MRS 3.1.0和MRS 3.1.2版本还需要配置以下参数:
      • “目的端NameService名称”:填写备集群的NameService名称。可在备集群HDFS服务的“管理NameService”页面获取,例如“hacluster”。
      • “IP 模式”:目标IP的IP地址模式。系统会根据集群网络类型自动选择对应的IP模式,如IPv4或者IPv6。
      • “目的端NameNode IP地址”:填写备集群NameNode业务平面IP地址,支持主节点或备节点。
      • “目的端路径”:填写备集群保存备份数据的HDFS目录。不支持填写HDFS中的隐藏目录,例如快照或回收站目录;也不支持默认的系统目录,例如“/hbase”或“/user/hbase/backup”。
      • “最大备份数”:填写备份目录中可保留的备份文件集数量。

  8. 单击“确定”保存。
  9. 在备份任务列表中已创建任务的“操作”列,选择“更多 > 即时备份”,开始执行备份任务。

    备份任务执行完成后,系统自动在备份目录中为每个备份任务创建子目录,目录名为“备份任务名_任务创建时间”,用于保存数据源的备份文件。备份文件的名称为“数据源_任务执行时间.tar.gz”。

创建ClickHouse备份任务路径选择RemoteHDFS时的环境配置

本操作仅适用于MRS 3.1.0和MRS 3.1.2版本。

  1. 登录备集群的FusionInsight Manager。
  2. 选择“集群 > 服务 > HDFS”,选择“更多 > 下载客户端”。“选择客户端类型”设置为“仅配置文件”,根据待安装客户端节点的节点类型选择正确的平台类型后(x86选择x86_64,ARM选择aarch64)单击“确定”。
  3. 等待客户端文件包生成后根据浏览器提示下载客户端到本地并解压。

    例如,客户端文件压缩包为“FusionInsight_Cluster_1_HDFS_Client.tar”,解压后得到“FusionInsight_Cluster_1_HDFS_ClientConfig_ConfigFiles.tar”继续解压该文件。解压到本地PC的“D:\FusionInsight_Cluster_1_HDFS_ClientConfig_ConfigFiles”目录下(路径中不能有空格)。

  4. 进入客户端路径“FusionInsight_Cluster_1_HDFS_ClientConfig_ConfigFiles\”,获取“hosts”文件。
  5. 进入客户端路径“FusionInsight_Cluster_1_HDFS_ClientConfig_ConfigFiles\HDFS\config”,获取“core-site.xml”和“hdfs-site.xml”文件。
  6. 登录源集群的FusionInsight Manager。
  7. 选择“集群 > 服务 > ClickHouse”,单击“配置 > 全部配置”,在“ClickHouse(服务)”下选择“备份”。

    在“remote_connect_core_config_file”参数单击“上传文件”,选择5中准备的“core-site.xml”文件上传。

    在“remote_connect_hdfs_config_file”参数单击“上传文件”,选择5中准备的“hdfs-site.xml”文件上传。

    图1 配置CLickHouse数据备份参数

  8. 单击“保存”,确认提示信息,单击“确定”保存配置。保存完成后,单击“完成”。
  9. 选择“集群 > 服务 > ClickHouse”,单击“实例”,查看“ClickHouseServer”的实例IP。
  10. root用户分别登录ClickHouseServer实例对应的主机节点,检查“/etc/hosts”文件内是否包含4中主机信息,如未包含,添加4中主机信息到“/etc/hosts”文件中。