集群变配说明与建议
所有文档
menu

Elasticsearch BES

集群变配说明与建议

产品详情自助选购

百度智能云Elasticsearch(BES)服务为用户提供灵活扩缩容的变配能力,用户可以根据业务的增长变化随时调整集群的配置规模。BES提供了多种变配模式,以下将详细介绍各种变配模式的原理和操作建议。

变配模式介绍

直调模式

直调模式适合对线上业务无影响,且速度较快的变配操作,例如集群添加节点、增加磁盘容量等。

冷重启模式

直接将集群中所有节点重启并完成变配,期间系统服务中断,会影响线上访问,但总体变配持续时间较短,适合需要短时间变更配置的操作。

蓝绿模式

不会重启集群,在原集群中添加相同数量的配置不同的新节点。添加节点后进行数据迁移,待数据迁移完成后,无缝切换并去除掉原节点。

image.png

注意:

  • 蓝绿变换整个过程业务端无感知,且扩容平滑,适合对集群可用性要求较高的场景。
  • 蓝绿变换完成后节点 IP 会发生变化。
  • 由于涉及数据迁移,蓝绿变换耗时和集群数据量有关,总体变配持续时间从数分钟到数小时或更长。如果急需提升数据迁移的速度,可以通过如下命令修改 ES 的配置:
PUT _cluster/settings
{
  "persistent": {
    "cluster.routing.allocation.node_concurrent_recoveries": "8",
    "indices.recovery.max_bytes_per_sec": "80mb"
  }
}

滚动模式

对集群中节点逐个滚动重启完成变配,期间服务不会中断,但可能对线上性能造成影响。总体变配持续时间与节点个数、集群数据量有关。

image.png

注意:

  • 由于不需要迁移数据,总体变配过程相比于蓝绿模式能够快速完成。适合于集群遇到性能瓶颈,期望快速完成扩容变配的场景。
  • 每重启一个节点后,会等待ES集群恢复为green状态后,才会重启下一个节点。
  • 由于需要滚动重启集群的每一个节点,所以当集群存在无副本索引的情况下会造成集群健康状态变成red,且会有丢失数据的风险。因此不建议当集群存在无副本索引的情况下选择滚动模式
  • 滚动模式过程中会对集群的性能有一定的影响,因此不建议在业务高峰期间选择滚动模式

变配行为与变配模式选择

变配行为 适用场景 变配模式 简介 特点
变更节点数量 节点规格较高,但集群整体计算资源不足 直调模式 直接向集群中加入更多相同规格的节点。 扩容平滑
无需停服
流程时间短,不受节点数量影响,预计5 - 10分钟完成
变更节点磁盘 计算资源充足,磁盘存储空间不足 直调模式

滚动模式/冷重启模式
直接增加集群中节点上挂载的磁盘扩容容量。

对于2021年3月19日0点之前的集群暂只能支持滚动变更,其中总节点个数小于2的集群仅支持冷重启变更。
直调模式变更平滑扩容不停服,流程时间短,预计2- 5分钟完成。

滚动模式会对集群性能造成影响,但服务不会中断,变配时间与节点数量、集群数据量有关。冷重启会导致服务短时间暂时中断。
变更节点规格 节点规格较低,集群整体计算资源不足 冷重启模式
蓝绿模式
可选择冷重启模式或蓝绿模式。 冷重启模式会造成服务短时间暂时中断,变更规格后会恢复。
蓝绿模式的总持续时间跟集群数据量有关。
上一篇
集群扩缩容
下一篇
节点数据迁移