AnyRobot OpenSearch 索引副本数设置为 0 最佳实践
关键字
AnyRobot、索引、分片、副本
适用产品
AnyRobot Family 5.0.3.x
目的
AnyRobot 存储空间不足时,可以根据本文最佳实践,将索引副本数设置为0,释放存储空间。
解决方案
登录 AnyRobot,依次点击数据管理→索引库→索引管理,获取需要将副本数设置为 0 的索引名称;

登录 AnyRobot 后台,执行以下命令,进入 Pod opensearch-master-0 容器命令行:
kubectl exec -ti opensearch-master-0 -n resource bash
执行以下命令,将指定的索引副本数设置为 0:
curl -uadmin:eisoo.com123 -XPUT -H "Content-Type:Application/json" 127.0.0.1:9200/<索引名>/_settings -d '{"number_of_replicas": 0}'
注意:此处索引名支持使用 * 进行通配。
更多信息
当 AnyRobot 为集群时,清理副本数据才能释放空间,单节点 AnyRobot 清理副本数据无法释放空间;
清理索引的副本分片可以提升该索引的写入性能,但是会破坏该索引的高可用能力,当其所在节点出现数据损坏时会造成数据丢失,请根据实际情况决定是否清理副本分片;
本最佳实践仅对已存在的索引生效,若要使得该索引库未来生成的索引副本数均为 0 的话,请调整该索引库对应的索引库模板中的副本设置。