在使用跨可用区的阿里云Elasticsearch实例时,当发现实例中某一可用区中的节点出现问题时,可以通过切流操作,将来自客户端的流量只传输到剩余正常状态的可用区节点中,并从集群中隔离被切流的可用区中的节点。本文介绍切流功能的具体使用方法。

前提条件

您已完成以下操作:
  • 创建跨可用区的阿里云Elasticsearch实例。
    详情请参见创建阿里云Elasticsearch实例。创建实例时,选择可用区数量两个可用区三个可用区
    注意 目前仅杭州、北京、上海和深圳四个区域支持部署跨三个可用区的阿里云Elasticsearch实例。
  • 确保集群中的索引是具有副本的(为了保证切流后集群读写操作正常)。

操作步骤

  1. 登录阿里云Elasticsearch控制台
  2. 在顶部菜单栏处,选择资源组和地域。
  3. 在左侧导航栏,单击Elasticsearch实例,再在实例列表中单击目标实例ID。
  4. 基本信息页面底部的节点可视化页签中,将鼠标移动到需要切流的可用区上,单击切流
    切流操作
  5. 操作提示对话框中,单击确认
    确认后,集群会进行重启,重启成功后即可完成切流操作。切流成功后,被切流的可用区状态会从在线状态变为下线状态。
    说明 在进行切流操作时,阿里云Elasticsearch会为剩余的在线状态的可用区自动补充相应的专有主节点协调节点数据节点等,以保证索引的正常读写,以及充足的计算资源。

后续步骤

如果在进行切流操作前,索引是有副本的,切流以后集群健康状态为非正常(黄色),那么当确认切流操作已经完成后,您可以在Kibana控制台中参考以下命令设置集群参数,使得被切流可用区中的分片分配到剩余的可用区中。分片分配完成后,集群的健康状态就会变为正常(绿色)。
PUT /_cluster/settings
{
    "persistent" : {
        "cluster.routing.allocation.awareness.force.zone_id.values" : {"0": null, "1": null, "2": null}
    }
}
说明 登录Kibana控制台的具体步骤请参见登录Kibana控制台