扩容OpenSearch集群
当OpenSearch集群的数据量持续增长或内存占用过高时,集群可能无法有效应对业务负载和性能需求。此时,可以通过横向扩展方式增加节点数量和类型,或纵向扩展方式提升节点的存储容量。
扩容类型 |
适用场景 |
变更流程 |
---|---|---|
增加节点数量 |
当集群的数据量持续增长或内存占用过高时,可以扩容“节点数量”保证集群的可用性。 |
增加数据节点数或冷数据节点数的变更流程如下:
增加Master节点数或Client节点数不涉及数据迁移。 整个扩容过程中,系统会确保每个分片至少保留可用副本,保障服务连续性,不会中断现有业务。 |
增加节点类型 |
当集群本身没有独立的Master节点或Client节点时,随着数据面业务增长,需要动态增加节点类型时,可以选择添加“Master节点”或“Client节点”。 |
添加节点类型的变更流程:创建新节点并修改集群配置。由于添加Master节点或Client节点不涉及数据迁移,因此该变更也不会中断现有业务。 添加Client节点会改变集群访问地址,从原来的数据节点地址变更为Client节点地址,建议客户端同步修改访问地址,否则Client节点无法起作用。 |
增加节点存储容量(扩容磁盘) |
|
整个扩容过程中,不会中断现有业务。 |
前提条件
- 确认集群处于“可用”状态,且无正在进行的任务。
- 确认CSS服务有足够的配额支持变更规格,在形态变更页面可以查看当前可用资源。
图1 查看可用资源
计费影响
如果是按需计费的集群,在扩容确认页面可以查看变更后的价格。变更完成后,集群将按照更新后的价格计费,计费规则请参见云搜服务价格计算器。
如果是包周期的集群,在扩容确认页面会触发新的订单,可以查看价格信息。
约束限制
- 集群的节点存储容量只支持扩容不支持缩容,请基于业务量合理选择节点存储容量。
- 按需集群支持同时扩容“节点数量”和“节点存储容量”,包周期集群不支持。
- 集群的Master节点和Client节点的存储容量不支持扩容。
- 本地盘类型的数据节点不支持扩容节点存储容量。
- 扩容集群的节点数量时,不同节点类型的取值范围请参见表2。
变更影响
在扩容前,您需要了解以下关键影响和操作建议,以便合理规划变更,最小化业务影响。
扩容节点存储容量(纵向扩展)对业务没有影响,而增加节点数量或增加节点类型(横向扩展)可能产生以下影响:
- 性能影响
扩容节点不会中断业务,但是扩容过程中数据分片需要均衡到新节点以分摊负载。此过程会消耗IO性能,建议在业务低峰期执行。
建议在业务低峰期提高数据迁移速率以缩短任务耗时,并在业务高峰期前降低迁移速率以减轻对集群性能的影响。数据迁移速率由“indices.recovery.max_bytes_per_sec”参数决定,该参数值默认是“CPU核数 x 32MB”(如4核CPU默认128MB)。该参数取值范围为40MB至1000MB,可根据业务需求调整。PUT /_cluster/settings { "transient": { "indices.recovery.max_bytes_per_sec": "1000MB" } }
- 变更过程特性
扩容时长
- 增加节点数量或增加节点类型(横向扩展)的时长预计为10~30分钟,主要和集群本身的调度能力相关。
- 扩容节点存储容量(纵向扩展)的时长预计为10~15分钟。
增加节点数量或节点存储容量
当集群的数据量持续增长或内存占用过高时,可以扩容节点数量或节点存储容量,提升节点的可用性和数据的持久性。
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > OpenSearch”,进入集群列表。
- 选择目标集群,单击操作列的“更多 > 形态变更”进入更改集群规格页面。
- 选择“更改集群规格”页签。
- 在更改集群规格页面,设置扩容参数。
表3 扩容节点数量和节点存储容量 参数
说明
变更类型
选择“扩容”。
变更的资源
显示本次变更任务增加的资源。
变更的角色
在“节点数量”列和“节点存储”列增加节点数量和节点存储容量。支持多种节点类型同时变更。
- 节点数量的取值范围请参见约束限制。
- 节点存储容量的取值范围由“节点规格”决定,且只支持配置为20的倍数。
说明:包周期集群不支持同时扩容“节点数量”和“节点存储容量”。
图2 集群扩容 - 单击“下一步”。
- 确认变更信息后,单击“提交申请”。
- 单击“返回集群列表”跳转到集群管理页面。集群的“任务状态”列显示为“扩容”,表示集群正在扩容。当集群状态变为“可用”,则表示扩容成功。
增加节点类型
当集群本身没有独立的Master节点或Client节点时,随着数据面业务增长,需要动态增加节点类型时,可以添加“Master节点”或“Client节点”。
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > OpenSearch”,进入集群列表。
- 选择目标集群,单击操作列的“更多 > 形态变更”进入形态变更页面。
- 选择“添加Master/Client节点”页签。
当集群同时拥有Master节点和Client节点时,形态变更页面将不存在“添加Master/Client节点”页签。
- 在添加Master/Client节点页面,勾选需要添加的节点,并配置“节点规格”、“节点数量”和“节点存储”。
表4 添加Master或Client节点 参数
说明
启用节点类型
勾选本次要添加的节点类型。
- 只能选择一种节点类型,当需要同时添加Master和Client节点时,就需要执行2次“添加Master/Client节点”任务。
- 当集群本身已经有Master节点或Client节点时,则此处只显示另一种节点类型供选择。
节点规格
根据需求选择节点规格。
节点数量
设置该节点类型的节点数量,取值范围请参见约束限制。
节点存储
设置该节点的存储类型。
Master节点和Client节点的存储容量为40GB,且不支持修改。
图3 添加Master/Client节点 - 单击“下一步”。
- 确认变更信息后,单击“提交申请”。
返回集群列表页面,集群的“任务状态”列中显示为“扩容中”。
- 如果添加Master节点,当“集群状态”变为“可用”时表示节点添加成功。
- 如果添加Client节点,当“集群状态”变为“可用”时表示节点添加成功。可选择是否重启数据节点和冷数据节点,下线数据节点上的Cerebro和OpenSearch Dashboards的进程。
相关文档
- OpenSearch集群还支持升级节点规格和云硬盘类型。操作指导请参见变更OpenSearch集群节点规格。
- 在扩容过程中,如果遇到可用区资源不足时,可以将该可用区下的节点迁移到其他资源充足的可用区,然后再新可用区扩容。操作指导请参见切换OpenSearch集群可用区。