Это утверждение верно.
the shard cannot be allocated to the same node on which a copy of the shard already exists
, поскольку не имеет смысла назначать реплики (R) на том же узле, где присутствует первичный сегмент (P) индекса, a s реплики используются для обеспечения высокой доступности и отказоустойчивости и всегда назначаются узлу, на котором отсутствует первичный шард реплики.
Теперь в вашем случае вы упомянули, что у вас есть 3 узла данных и все ваши индексы также имеют 3 осколка (1 P + 2R), что делает его идеальным для назначения 1 осколка (будь то осколок P или R) на каждом узле данных.
Также вы правы, что cluster health on Kibana, I don't see a duplicate shard on that node.
и это не может случиться так, что P или R могут находиться на одном и том же узле.
Поскольку вы уже использовали _cluster/allocation/explain
, я предполагаю, что вы уже знаете индекс проблемы c, поэтому просто следуйте советам, упомянутым в this обсуждение сообщения , Короче говоря, уменьшите количество реплик для индекса проблемы c до 1 или увеличьте узел данных.