Shardのprimary,replica入れ替え

ノード2台で構成しているクラスタでメンテナンス後
すべてのShardのPrimaryがes01に偏ってしまいました、

curl -XGET "http://localhost:9200/_cat/shards/logstash-2019.09.1*?v&s=prirep,index"
index shard prirep state docs store ip node
logstash-2019.09.10 0 p STARTED 769831 736.5mb 192.168.1.101 es01
logstash-2019.09.11 0 p STARTED 867484 803.5mb 192.168.1.101 es01
logstash-2019.09.12 0 p STARTED 856638 786mb 192.168.1.101 es01
logstash-2019.09.13 0 p STARTED 629853 599.4mb 192.168.1.101 es01
logstash-2019.09.14 0 p STARTED 1001629 928.5mb 192.168.1.101 es01
logstash-2019.09.15 0 p STARTED 1163235 1gb 192.168.1.101 es01
logstash-2019.09.16 0 p STARTED 1552068 1.4gb 192.168.1.101 es01
logstash-2019.09.17 0 p STARTED 800036 767.9mb 192.168.1.101 es01
logstash-2019.09.18 0 p STARTED 723657 693.1mb 192.168.1.101 es01
logstash-2019.09.19 0 p STARTED 621831 595.3mb 192.168.1.101 es01
logstash-2019.09.10 0 r STARTED 769831 737mb 192.168.1.102 es02
logstash-2019.09.11 0 r STARTED 867484 802.8mb 192.168.1.102 es02
logstash-2019.09.12 0 r STARTED 856638 791mb 192.168.1.102 es02
logstash-2019.09.13 0 r STARTED 629853 599mb 192.168.1.102 es02
logstash-2019.09.14 0 r STARTED 1001629 924.5mb 192.168.1.102 es02
logstash-2019.09.15 0 r STARTED 1163235 1gb 192.168.1.102 es02
logstash-2019.09.16 0 r STARTED 1552068 1.3gb 192.168.1.102 es02
logstash-2019.09.17 0 r STARTED 800036 753.1mb 192.168.1.102 es02
logstash-2019.09.18 0 r STARTED 723657 691.4mb 192.168.1.102 es02
logstash-2019.09.19 0 r STARTED 621831 598.9mb 192.168.1.102 es02

半分のShardのprimary,replicaの保持ノードを逆にしたいのですが、
対応方法はございますか?

ノード3台で構成しているクラスタでもメンテナンス後
node02のPrimaryがすべて別のノードに移ってしまいました。

curl -XGET "http://localhost:9200/_cat/shards/nginx-2019.09.1*?v&s=prirep,index"
index shard prirep state docs store ip node
nginx-2019.09.10 0 p STARTED 66176 11.3mb 192.168.10.173 node03
nginx-2019.09.11 0 p STARTED 65818 10.8mb 192.168.10.173 node03
nginx-2019.09.12 0 p STARTED 66064 11mb 192.168.10.173 node03
nginx-2019.09.13 0 p STARTED 66031 11.1mb 192.168.10.171 node01
nginx-2019.09.14 0 p STARTED 83658 13.7mb 192.168.10.171 node01
nginx-2019.09.15 0 p STARTED 82065 13.5mb 192.168.10.171 node01
nginx-2019.09.16 0 p STARTED 65522 10.9mb 192.168.10.173 node03
nginx-2019.09.17 0 p STARTED 65716 11.5mb 192.168.10.173 node03
nginx-2019.09.18 0 p STARTED 66127 11.1mb 192.168.10.173 node03
nginx-2019.09.19 0 p STARTED 66409 11.6mb 192.168.10.171 node01
nginx-2019.09.10 0 r STARTED 66176 11.3mb 192.168.10.172 node02
nginx-2019.09.11 0 r STARTED 65818 10.8mb 192.168.10.172 node02
nginx-2019.09.12 0 r STARTED 66064 10.7mb 192.168.10.171 node01
nginx-2019.09.13 0 r STARTED 66031 11.1mb 192.168.10.172 node02
nginx-2019.09.14 0 r STARTED 83658 13.7mb 192.168.10.172 node02
nginx-2019.09.15 0 r STARTED 82065 13.5mb 192.168.10.172 node02
nginx-2019.09.16 0 r STARTED 65522 10.9mb 192.168.10.171 node01
nginx-2019.09.17 0 r STARTED 65716 11.5mb 192.168.10.171 node01
nginx-2019.09.18 0 r STARTED 66127 11mb 192.168.10.171 node01
nginx-2019.09.19 0 r STARTED 66409 11.6mb 192.168.10.172 node02

Primaryの保持ノードをバランス良く分散させたいのですが
対応方法はございますか?

2点ほど。

  1. 2台でのクラスタ構成では、Split Brainと呼ばれる問題が発生した場合に、可用性を担保できない可能性が高いので、3台以上をおすすめいたします。
    https://www.elastic.co/guide/en/elasticsearch/reference/6.8/modules-node.html#split-brain

  2. primaryとreplicaにはそれほどの違いはありません。なので、偏りがあっても特に問題にはならないです。primary shardがあるノードに障害が発生して壊れてしまった場合、Elasticsearchはその状態を検知して、replica shardの中からprimary shardを選び出す仕組みになっています。

ありがとうございます。
偏りがあっても特に問題にならないのでしたら、このままにしておきます。