要缩小ElasticSearch,我通常在节点上禁用分配,等待分片重新定位,然后删除节点,例如:
curl -X PUT "localhost:9200/_cluster/settings" -d'{
"transient" : {
"cluster.routing.allocation.exclude._name" : "node-4"
}
}'
据我所知,开放索引的分片将被重新定位到其他节点…但是闭合指标会怎样呢?
一个封闭的索引,根据我的理解,在快照上被忽略…所以这让我想到,如果在设置分配排除时也会忽略它。
排除分配给节点后,我去检查它的磁盘使用情况…它似乎还有很多东西在那里:
$ du -hs /usr/share/elasticsearch/nodes/0/
131G /usr/share/elasticsearch/nodes/0/
我的问题是:
- 当我从分配中排除一个节点时,关闭索引会发生什么?
- 如果我不想丢失那些关闭的索引(无论出于什么原因),这样做有多安全?
据我所知:
- 当我从分配中排除一个节点时,关闭索引会发生什么?
什么也没发生,它们被保存在被排除的节点上。
- 如果我不想失去那些关闭的索引(无论出于什么原因),这样做是多么安全?
不安全。当您永久删除节点(即终止机器及其存储)时,数据可能会丢失。