elasticsearch擴容和機器下線
阿新 • • 發佈:2019-02-03
ES擴容後需要考慮各索引的分片(shard)的均衡分佈問題,簡單記錄下自己在擴容後採取的步驟:
1. es支援手動遷移索引分片(index shards),但需提前關閉自動的shard allocation(防止手動的shard遷移和自動的shard遷移相互干擾);
curl -XPUT "http://192.168.12.112:9200/_cluster/settings" -d '{"transient":{"cluster.routing.allocation.disable_allocation": true}}'
2. 將舊機器的索引分片遷移至新機器,命令樣例如下:
-
curl -XPOST '192.168.12.112:9200/_cluster/reroute'
- "commands" : [ {
- "move" :
- {
- "index" : "test", "shard" : 2,
- "from_node" : "node1", "to_node" : "node2"
- }
- }
- ]
- }'
4. 開啟自動shard allocation開關;
curl -XPUT "http://192.168.12.112:9200/_cluster/settings" -d '{"transient":{"cluster.routing.allocation.disable_allocation": false}}'