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

备份Solr业务数据

操作场景

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

系统管理员可以通过FusionInsight Manager创建备份Solr任务并备份数据。支持创建任务自动或手动备份数据。

  • 快照创建时不会影响搜索查询,并且快照创建过程启动后,新的数据不会被记录到快照中,同一时刻只能有一份快照被创建。
  • 创建备份任务时勾选的索引,如果在启动备份任务之前删除了部分索引,则被删除的索引不会进行备份。如果所有的索引都被删除,则备份任务显示执行失败。
  • 请保证集群中所有实例的健康状态为良好,可以正常接收请求。为了保证备份成功,请不要操作像扩容、减容、停止或重启Solr实例、停止或重启Solr服务、停止或重启集群等操作。
  • 当集群中存在较大的数据需要备份时,请合理地分批次进行索引级别的数据备份,否则备份时间会较长。
  • 当备份任务执行失败时,请登录目的端(RemoteHDFS)的备份路径目录(即创建备份到RemoteHDFS的任务时填写“目的端路径”的值,删除与备份任务名称相对应的子目录,即“备份任务名_数据源_任务创建时间”,以清理备份失败的数据。
  • 备份前请检查需要备份的索引是不是green状态,没有分片丢失,否则会备份失败。

前提条件

  • 如果数据要备份至远端HDFS中,需要准备一个用于备份数据的备集群,认证模式需要与主集群相同。其他备份方式不需要准备备集群。目前Solr仅支持备份到HDFS中。
  • 若Solr为普通模式,则不支持备份业务数据到安全模式HDFS。
  • 如果主集群部署为安全模式,且主备集群不是由同一个FusionInsight Manager管理,则必须配置系统互信,请参见配置跨Manager集群互信。如果主集群部署为普通模式,则不需要配置互信。
  • 主备集群上的时间必须一致,而且主备集群上的NTP服务必须使用同一个时间源。
  • 检查备集群HDFS是否有充足的空间,备份文件保存的目录建议使用用户自定义的目录。

操作步骤

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

    “周期备份”表示按周期自动执行备份,“手动备份”表示由手工执行备份。

    表1 周期备份参数

    参数名称

    描述

    开始时间

    任务第一次启动的时间。

    周期

    任务下次启动,与上一次运行的时间间隔,支持按“小时”或按“天”。

    备份策略

    表示任务每次启动时备份的数据量。只支持“每次都全量备份”。

  6. 在“备份配置”,勾选“业务数据”区域下的“Solr > Solr”。
  7. 在“Solr”的“路径类型”,选择一个备份目录的类型。

    备份目录支持以下类型:

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

    选择此参数值,还需要配置以下参数:
    • “目的端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”。
    • “最大备份数”:填写备份目录中可保留的备份文件集数量。

  8. 在“备份内容”中,选择一个或多个需要备份的Collection。

    支持两种方式选择备份数据:

    • 添加备份数据文件
      1. 单击“添加”。
      2. 在“文件目录”框内选择要备份的表,单击“添加”添加到“备份文件”框内。
      3. 单击“确定”添加备份数据文件。
    • 正则表达式筛选
      1. 单击“正则表达式输入”。
      2. 在第一个输入框中输入“/”,该根目录非实际目录,仅表示solr内部。
      3. 在第二个输入框输入正则表达式,支持标准正则表达式。例如要筛选包含“solr”的索引,请输入“.*solr.*”。例如要筛选以“solr”开头的索引,请输入“solr.*”。例如要输入以“solr”结尾的索引,请输入“.*solr”。
      4. 单击“刷新”,在“目录名称”查看筛选的表。
      5. 单击“同步”保存筛选结果。
      • 输入正则表达式时,可以使用增加或删除一条表达式。
      • 如果已选择的表或目录不正确,可以单击“清除选中节点”清除勾选。

  9. 单击“校验”查看备份任务的配置是否正确。

    校验失败可能存在以下原因:

    • 目的端主或备NameNode IP地址、NameService名称不正确。
    • 待备份的索引名称在集群中不存在。

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

    备份任务执行完成后,系统自动在备集群的备份路径中为每个备份任务创建子目录,目录名为“备份任务名_数据源_任务创建时间”,数据源每次备份的最新备份文件保存在此目录中。每执行一次备份任务便会在该目录下创建一个快照目录,目录名为“_snapshot绝对秒数”,当创建的快照目录数大于任务的“最大备份数”时,会自动将创建时间最早的目录删除。