多可用区部署
百度智能云Elasticesarch支持多可用区部署,提升集群的容灾能力。
适用场景
多可用区部署支持单可用区、双可用区、三可用区三种部署方式,各部署方式的适用场景如下:
- 单可用区:普通部署模式,适用于非关键任务型的工作(默认)。
- 双可用区:跨可用区容灾部署模式,适用于生产型的工作。
- 三可用区:高可用部署模式,适用于具有更高可用性要求的生产型的工作。
创建多可用区集群
登录百度智能云Elasticsearch 控制台,选择【创建集群】。
可用区与子网配置
在【网络与可用区】模块,【可用区部署数量】可以选择单可用区、双可用区或三可用区集群。并在下方选择相应的【可用区及子网】。
双可用区部署
创建双可用区集群,支持选择两个可用区或三个可用区,前两个可用区为必选可用区,第三个可用区为补充可用区,选填。
- 如果选择三个可用区,数据节点会被部署在前两个可用区,第三个可用区会用来单独部署一个专用主节点。保证当任意一个可用区出现故障时,集群依然可以选出主节点。
- 如果选择两个可用区,数据节点和专用主节点都会部署在两个可用区。当存在半数以下的专用主节点的可用区出现故障时,集群依然可以选出主节点;当存在超过半数专用主节点的可用区出现故障时,集群无法选主,集群将不可用。
说明:
1.由于要开启多可用区容灾的集群,必须选择专用主节点,用户可自行选择专有主节点数量3或5个。
2.如果业务上有更高的可靠性要求,建议选择三个可用区。
三可用区部署
三可用区集群,数据节点和专用主节点都会均匀地部署在三个可用区中。在一个可用区发生不可用的情况下,不会出现超过一半的专用主节点不可用的情况,始终保持集群有超过法定的主节点选择个数,保证了集群的可靠性。
说明: 在创建集群时,会校验子网。如果所选子网的IP数量不足,无法成功创建集群,请根据提示进行对应操作。
节点配置
确定好可用区及子网信息后,继续进行【节点配置】。
- 节点配置中,数据节点、冷数据节点及协调节点的个数必须为可用区个数的整数倍,例如双可用区,数据节点个数应为2、4、6...
- 由于要开启多可用区容灾的集群,必须选择专用主节点,用户可自行选择专有主节点数量3或5个。
其他参数设置与单可用区基本一致。
集群多可用区容灾原理
数据节点
注意:
为了保证多可用区容灾的功能生效,用户请注意以下原则:
1.创建集群所选择的数据节点、冷数据节点及协调节点个数必须为可用区个数的整数倍,例如双可用区,数据节点个数应为2、4、6...
2.索引分片至少设置1个副本,保证集群始终有两份以上的数据。
百度智能云Elasticsearch会自动将数据节点均匀的部署在用户所选的可用区中,且数据节点可以感知其部署的可用区 ,使数据的副本平均分布到多个可用区中。
百度智能云Elasticsearch提供了负载均衡功能,通过控制台提供的 BLB 进行访问,请求会平均分配到集群的各个数据节点上,当某个节点或者某个可用区不可用时,BLB 会自动过滤问题节点,保证集群稳定性。
专用主节点
为提高Elasticsearch集群可靠性,用户在使用多可用区部署时最少要创建三个专用主节点。当一个可用区不可用时,如果集群依然有半数以上主节点参与选举,集群可正常选主。
配置说明
此处用户无需自己配置,创建时,系统会自动为多可用区实例配置与分片分配策略相关的集群配置。 例如,多可用区实例部署在广州可用区A和可用区B,则集群配置相关的参数说明如下:
参数 | 说明 | 示例 |
---|---|---|
cluster.routing.allocation.awareness.attributes | 配置用于设置分配策略的节点属性,例如配置为zone_id时,各节点通过zone_id这个节点属性来确定分配策略,多可用区实例通过在启动参数中加入node.attr.zone_id来标识该节点的可用区,例如广州A可用区的节点启动参数中加入node.attr.zone_id=cn-gz-a,该参数默认为zone_id。 | zone_id |
cluster.routing.allocation.awareness.force.zone_id.values | 配置多可用区部署强制均分shard。例如索引中有1个主分片(primary),3个副本分片(number_of_replicas=3),共4个副本,按照分配策略,会在可用区A和B各分配两个副本。如果指定了该参数,当cn-gz-a不可用时,该可用区的两个分片不会自动迁移到cn-gz-b。该参数默认为当前部署的所有可用区,即不允许分片自动迁移。 | ["cn-gz-a", "cn-gz-b"] |
节点分布
用户可以通过控制台集群详情查看各个可用区的节点分布情况:
- 双可用区集群4节点部署在2个可用区情况下的节点,分布图如下
- 双可用区集群4节点部署在3个可用区情况下的节点,分布图如下
- 三可用区3节点情况下的节点,分布图如下