1. 现象:
问题如图片类似,后台启动ES集群,由三个节点组成,集群健康值为 yellow,节点只有主分片,副本状态为:Unassigned
2. 原因:
在ES磁盘分配分片控制策略中,为了保护数据节点的安全,ES对磁盘进行了限额,并会定时检查各节点数据目录的使用情况:
cluster.info.update.interval // 默认30秒
在达到
cluster.routing.allocation.disk.watermark.low // 默认85%
时,新索引分片就不会分配到这个节点上了。在达到
cluster.routing.allocation.disk.watermark.high // 默认 90%
时,就会触发该节点现存分片的数据均衡,把数据挪到其他节点上去。
通过shell 客户端执行 df -h ,查询到es集群所在的路径 /home/app 的磁盘使用率 Use%值为 86%,超过了最低值 85%,导致重启后,副本索引分片不会分配到es集群中的节点上。
2.如何修改:
2.1.方案一:
删除es集群所在路径不必要大文件,如旧的日志文件,临