CSS服务中单节点的使用率过高是否会影响集群的业务?
问题现象
查看集群监控发现,Elasticsearch集群“磁盘使用率”达到80%以上,用户担心单节点使用率过高会对集群业务产生影响。
业务影响
- 单节点使用率超过85%:无法为新副本分配空间,但是新的主分片仍然可以被分配,从而确保业务操作的连续性不受影响,然而,集群的高可用性上有风险。
- 单节点使用率超过90%:系统将自动触发分片迁移机制,将该节点上的分片重新分配至磁盘使用率较低的其他数据节点。这一过程可能导致集群暂时无法分配新的分片,进而影响到业务的正常运行,因为分片的迁移和重新分配可能会导致查询延迟增加或临时的服务中断,从而对业务连续性造成影响。
- 单节点使用率超过95%:系统会对Elasticsearch集群中对应节点里每个索引强制设置“read_only_allow_delete”属性,此时该节点上的所有索引将无法写入数据,只能读取和删除对应索引。
单节点使用率过高,可通过扩容Elasticsearch集群操作动态调整集群节点的数量和容量。新扩容的节点不会立即分配索引,可打开cerebro看下节点索引分配情况,做进一步观察,也可以修改“indices.recovery.max_bytes_per_sec”和“cluster.routing.allocation.cluster_concurrent_rebalance”两个参数值增加索引分配速度。