cold-search插件是阿里云Elasticsearch团队自研的冷热隔离插件。在日志场景中,对于自研海量存储集群,该插件能够针对共享计算节点,提供节点上冷热索引的CPU资源和内存隔离熔断的限制能力。本文介绍如何使用cold-search插件。
前提条件
创建阿里云Elasticsearch实例,版本为7.10.0且内核版本为1.6.0及以上。具体操作,请参见创建阿里云Elasticsearch实例。
说明 cold-search插件默认已安装,不可卸载,您可在插件配置页面查看。
使用限制
使用cold-search插件时,您的Elasticsearch实例需要满足以下条件:
- 实例版本:7.10.0
- 内核版本:1.6.0及以上
- 实例配置:数据节点规格族选择冷热共享计算型
操作步骤
登录目标阿里云Elasticsearch实例的Kibana控制台,根据页面提示进入Kibana主页。
登录Kibana控制台的具体操作,请参见登录Kibana控制台。
说明本文以阿里云Elasticsearch 7.10.0版本为例,其他版本操作可能略有差别,请以实际界面为准。
单击右上角的Dev tools。
- 在Console页签,执行如下命令,配置CPU限制。
PUT _cluster/settings { "persistent":{ "apack.cold_search.cpu.cold_max":0.7, "apack.cold_search.cpu.normal_share":1024, "apack.cold_search.cpu.cold_share":2 } }参数 类型 默认值 说明 apack.cold_search.cpu.cold_max 小数 0.7 冷查询在单节点上每秒CPU使用量的最高比例。 例如,节点的CPU规格为4核,apack.cold_search.cpu.cold_max值为0.5,则在该节点上,冷查询每秒最多使用的CPU资源为:(4核*0.5)=2核。
apack.cold_search.cpu.normal_share 整数 100 其他查询与冷查询占用的CPU资源比例关系,最小值为2。该配置的触发条件为节点CPU使用率达到100%。 例如,apack.cold_search.cpu.normal_share的值为90,apack.cold_search.cpu.cold_share的值为10,那么其他查询与冷查询占用的CPU资源的比例为90:10。此时如果其他查询的CPU使用率为50%,冷查询的CPU使用率为40%,虽然冷查询比例已经超过了设定值,但由于两者加起来没有达到100%,因此不会触发熔断。
apack.cold_search.cpu.cold_share 整数 10 - 执行如下命令,配置内存限制。
PUT _cluster/settings { "persistent":{ "apack.cold_search.mem.cold_max_percent": "80%", "apack.cold_search.mem.cold_delay_interval":"5s", "apack.cold_search.mem.jvm_max_percent": "90%", "apack.cold_search.mem.delay_interval": "2s" } }参数 类型 默认值 说明 apack.cold_search.mem.cold_max_percent 百分数或容量单位 80% 冷查询占用内存的熔断阈值。 apack.cold_search.mem.cold_delay_interval 时间类型 5s 冷查询占用内存超过阈值后,开始熔断的时间间隔。 apack.cold_search.mem.jvm_max_percent 百分数或容量单位 90% 所有查询占用内存的熔断阈值。 apack.cold_search.mem.delay_interval 时间类型 2s 所有查询占用内存超过阈值后,开始熔断的时间间隔。 说明 超过CPU及内存限制后,Elasticsearch会对冷查询进行熔断。熔断时,系统不会为冷查询分配更多的CPU和内存资源,因此仅会造成冷查询请求执行速度变慢,不会造成冷查询请求失败。