現在clusterでdatanodeを3台体制で稼働していますが、2台体制に移行したいと考えています。
nodeを削除する前にデータを他のnodeに移動させる必要があります。
調べたところ下記クエリを実行するとよいと聞きました。
curl -XPUT xxx.xxx.xxx.xxx:9200/_cluster/settings -d '{
"transient" :{
"cluster.routing.allocation.exclude._ip" : "xxx.xxx.xxx.yyy"
}
}';echo
実行したところ
{"error":{"root_cause":[{"type":"process_cluster_event_timeout_exception","reason":"failed to process cluster event (cluster_update_settings) within 30s"}],"type":"process_cluster_event_timeout_exception","reason":"failed to process cluster event (cluster_update_settings) within 30s"},"status":503}
と表示されました。
ただし
http://xxx.xxx.xxx.xxx:9200/_cluster/settings?pretty=true
を実行すると
"transient" : {
"cluster" : {
"routing" : {
"allocation" : {
"exclude" : {
"_ip" : "xxx.xxx.xxx.yyy"
}
}
}
}
}
と表示されていたのでクエリ自体は通った?と認識しています。
質問
1.上記クエリ(_cluster/settings)が表示されていたら問題ないでしょうか?
2.上記クエリが通っていたとして、データ(shard)の振り分けが終わったことをどう確認するのでしょうか?
よろしくお願いします。