0
我已經創建了ES羣集,ES在三臺不同的機器上運行。爲了使它們成爲集羣,我在elasticsearch.yml配置文件的所有3機器中添加了如下的單播配置。無法從ES羣集中分離碎片
discovery.zen.ping.unicast.hosts:[IP1, IP2, IP3]
當我運行
curl -XGET localhost:9200/_cluster/health?pretty
正在逐漸No_of_nodes爲3。現在,我想從集羣 所以刪除一個節點無需更改任何配置文件,我跑以下命令
curl -XPUT localhost:9200/_cluster/settings -d '{
"transient" :{
"cluster.routing.allocation.exclude._ip" : "IP_adress_of_Node3"
}
}';
在此之後,我再次運行第二個命令以獲取集羣詳細信息,預期的輸出是NO_of_nodes應該是2,但在結果顯示節點數= 3仍然前夕n排除節點後。如果有人能夠告訴我在刪除節點的步驟中出現了什麼問題,這將非常有幫助。
感謝
感謝您的意見,我還有一個,所以我在單播中的條目是正確的嗎?我的意思是說,在我的配置文件中,我已經爲所有3個機器配置文件中的所有3個節點創建了一個條目是否正確? –
而且對於排除API,它應該將排除的IP下的分片移動到剩餘節點,但在我的情況下,仍然會看到標記爲排除的Node下的分片。可能是什麼問題 –
Elasticsearch在嘗試重新分配碎片(複製因子,磁盤空間......)時還考慮了其他一些事情,因此可能有多種原因,爲什麼在您的特定情況下它不會重新分配碎片。你可以運行分配解釋API(https://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-allocation-explain.html)並創建一個新的問題與輸出? –