在升配集群的过程中,遇到可用区规格库存不足的情况时,您可以迁移该可用区下节点的数据后再进行升配。本文介绍如何迁移可用区节点的数据。

前提条件

  • 确保当前账号下存在资源充足的可用区。

    建议优先选择字母顺序靠后的新可用区(例如对于cn-hangzhou-ecn-hangzhou-h可用区,优先选择cn-hangzhou-h),这类可用区资源一般较充足。因为可用区迁移功能在迁移当前规格节点到其他可用区后,需手动升配集群,并不会在迁移过程中升配集群。

  • 确保集群处于健康状态。

    可通过GET _cat/health?v命令查看集群健康状态。

  • 登录Kibana控制台,执行以下命令,检查集群中是否存在状态为close的索引。如果存在,需要将对应索引的状态暂时设置为open,否则变更不成功。
    • 查看索引状态
      GET /_cat/indices?v
      查看索引状态
    • 将close状态的索引暂时设置为open状态
      POST /<index_name>/_open

      <index_name>需要替换为状态为close的索引名称。

注意事项

  • 可用区一次迁移仅支持单个可用区操作,如果是多可用区,需要分批次做迁移。
  • 可用区迁移会触发集群滚动重启,迁移时长与集群规模、数据量及负载情况等相关,建议在业务低峰期做迁移。
  • 如果集群索引存在副本分片且集群负载处于正常水平(CPU使用率在60%左右,堆内存使用率在50%左右,load_1m低于CPU核数),一般情况下,可用区迁移过程中,集群可持续对外提供服务。
  • 如果集群负载过高且索引没有副本,同时业务中存在大量的写入或查询等场景,在可用区迁移过程中,业务可能会出现偶发的访问超时现象。建议在可用区迁移前,在客户端访问机制中配置重试机制,以减小对业务的影响。

操作步骤

  1. 登录阿里云Elasticsearch控制台
  2. 在左侧导航栏,单击Elasticsearch实例
  3. 进入目标实例。
    1. 在顶部菜单栏处,选择资源组和地域。
    2. Elasticsearch实例中单击目标实例ID。
  4. 在实例的基本信息页面下方的节点可视化页签中,将鼠标移动到可用区上,单击迁移
    可用区节点迁移
  5. 可用区节点迁移对话框中,选择目标可用区虚拟交换机
    可用区节点迁移对话框
    参数说明
    目标可用区迁移后的新可用区可能仍然存在库存不足的情况,建议选择字母顺序靠后的新可用区(例如对于cn-hangzhou-ecn-hangzhou-h可用区,优先选择cn-hangzhou-h)。
    虚拟交换机对于单可用区的阿里云Elasticsearch实例,需要选择新的虚拟交换机进行可用区迁移;对于跨可用区实例(或金融云实例),无须指定新的虚拟交换机
    重要
    • 迁移后集群中的节点IP地址会发生变化。如果您在集群配置中指定了节点的IP地址,需要在迁移后更新。
    • 迁移可用区会触发集群重启,重启过程中集群可持续提供服务,但可能会导致服务不稳定,建议在业务低峰期操作。
  6. 选中数据迁移服务协议,单击确认
    确认后,集群会重启。重启成功后,即可完成迁移任务。
    重要 迁移成功后,集群将迁移到新可用区下。但控制台基本信息和升降配页面依旧显示旧可用区,此显示不影响在新可用区下使用集群。您可在控制台的节点可视化页签中,查看集群所在的真实可用区。