ES索引分片问题:
突然有一天发现es索引分片只能在集群中的一台服务器上。另外一台服务器没有索引分片。

查看es日志发现,提示有因为磁盘利用率处在一个high watermark 所以索引分片不能分配到该节点。

[2016-10-12 08:13:39,275][WARN ][cluster.routing.allocation.decider] [es-node-200] high disk watermark [90%] exceeded on [Qq_lSTZSTVq7EF8LHFIMfA][es-node-200][/opt/elasticsearch-2.1.1/data/evun-es/nodes/0] free: 39gb[8%], shards will be relocated away from this node
[2016-10-12 08:14:09,373][INFO ][cluster.routing.allocation.decider] [es-node-200] low disk watermark [85%] exceeded on [Qq_lSTZSTVq7EF8LHFIMfA][es-node-200][/opt/elasticsearch-2.1.1/data/evun-es/nodes/0] free: 52.9gb[10.8%], replicas will not be assigned to this node
[2016-10-12 08:17:09,983][INFO ][cluster.routing.allocation.decider] [es-node-200] low disk watermark [85%] exceeded on [Qq_lSTZSTVq7EF8LHFIMfA][es-node-200][/opt/elasticsearch-2.1.1/data/evun-es/nodes/0] free: 52.9gb[10.8%], replicas will not be assigned to this node

清理历史日志后,集群节点索引分片开始重新路由分配,日志如下:

[2016-10-12 08:17:40,085][INFO ][cluster.routing.allocation.decider] [es-node-200] rerouting shards: [one or more nodes has gone under the high or low watermark]


重新路由碎片:[一个或多个节点已经在高或低水位下]

由日志提示可以看出,集群中的任何节点处在高水位上,高水位下,都会进行索引分配的重新路由。