阿里云Elasticsearch 6.7.0及以上版本的实例(数据节点内存大于等于32GB)提供了垃圾回收器的配置功能,支持CMS垃圾回收器G1垃圾回收器的相互切换。本文介绍如何配置垃圾回收器。

背景信息

阿里云Elasticsearch默认使用的垃圾回收器为CMS,当堆内存使用率达到75%时,将触发垃圾回收。如果您集群的堆内存较大,建议您切换为G1垃圾回收器,提高垃圾回收性能,详细信息请参见官方Elasticsearch垃圾回收介绍

前提条件

创建阿里云Elasticsearch实例,具体操作请参见创建阿里云Elasticsearch实例。实例要求如下:
  • 版本:6.7.0及以上
  • 数据节点内存:大于等于32GB

如果不满足要求,可升级实例规格。具体操作,请参见升配集群

说明 不满足以上要求的实例只能使用CMS垃圾回收器,不支持切换为G1垃圾回收器

操作步骤

  1. 登录阿里云Elasticsearch控制台
  2. 在左侧导航栏,单击Elasticsearch实例
  3. 进入目标实例。
    1. 在顶部菜单栏处,选择资源组和地域。
    2. 在左侧导航栏,单击Elasticsearch实例,然后在Elasticsearch实例中单击目标实例ID。
  4. 在左侧导航栏,选择配置与管理 > ES集群配置
  5. 基础配置区域,单击垃圾回收器右侧的修改
    实例需满足以下要求,才可修改垃圾回收器配置:
    • 版本:6.7.0及以上
    • 数据节点内存:大于等于32GB
    注意
    • 更改垃圾回收器机制需确保集群处于正常状态,该操作会触发集群滚动重启,重启时长与集群规模、数据量及负载情况等有关系,建议在业务低峰期操作。
    • 如果集群索引存在副本分片且集群负载处于正常水平(CPU使用率在60%左右,堆内存使用率在50%左右,load_1m低于CPU核数),一般情况下,在集群变更过程中可持续对外提供服务。
    • 如果集群负载过高且索引没有副本,同时业务中存在大量的写入或查询等场景,在集群变更过程中,业务可能会出现偶发的访问超时现象。建议在客户端访问机制中配置重试机制,以减小对业务的影响。
  6. 修改配置页面,选择G1回收器,单击确定
    切换垃圾回收器

    确定后,集群会自动重启。重启成功后,即可完成垃圾回收器的切换。

相关文档

切换垃圾回收器的API文档:UpdateAdvancedSetting