ES 集羣調整、升級 最佳實踐

平常應用中咱們會常常對es 集羣作一些參數調整或者升級版本,可是每次關閉節點再打開 其中的數據同步的痛苦估計有不少人領悟過(有可能出現IO或者網絡擁堵致使惡性循環)官網有套方案能夠嘗試一下:html

1.關掉集羣 分片 自動分配設置

PUT /_cluster/settings
{
  "transient": {
    "cluster.routing.allocation.enable": "none"
  }
}

2.停掉沒必要要的索引維護 讓碎片恢復的更快

POST /_flush/synced

3.停掉須要升級的節點,配置或者升級,推薦覆蓋 以前的elasticsearch.yml 配置文件,記得copy data 文件夾 。

4.啓動升級好的節點 查看狀態

GET _cat/nodes

5.從新開啓集羣 分片 自動分配

PUT /_cluster/settings
{
  "transient": {
    "cluster.routing.allocation.enable": "all"
  }
}

6.等待節點恢復

GET _cat/health

若是沒有第二部操做,那估計得須要比較多的時間恢復,用下面api查詢恢復狀態,固然我推薦插件 kopfnode

GET _cat/recovery

7. 重複上面步驟來升級全部須要升級的節點

PS : 千萬注意 數據只能從 低版本到高版本,不能逆向~ 切記api

參考官網
https://www.elastic.co/guide/en/elasticsearch/reference/2.2/rolling-upgrades.html#_step_2_stop_non_essential_indexing_and_perform_a_synced_flush_optional網絡

相關文章
相關標籤/搜索