Contents

ElasticSearch 6.3 升級 6.6.1

ElasticSearch 做版本升級時,最怕的不是指令本身,而是升級後才發現資料、外掛或設定彼此不相容。尤其從 6.3 升到 6.6.1 這種同大版本下的小升級,看起來跨度不大,但實務上還是不能直接當作覆蓋檔案就結束。

升級前先想清楚三件事

  1. 資料要怎麼備份。
  2. 外掛有沒有對應版本。
  3. 現有設定能不能沿用。

如果這三件事沒有先確認,升級很容易變成邊修邊救火。

升級前的基本動作

最基本的就是先備份原本的安裝目錄與資料:

1
cp -r /path/to/elasticsearch /path/to/elasticsearch-backup

若環境允許,更建議先做完整 snapshot 或其他資料備援,不要只靠一份目錄複製就覺得安全。

常見升級流程

1. 先停服務

1
systemctl stop elasticsearch

2. 替換核心程式內容

一般會更新像 binlibmodules 這些核心目錄,但不要隨便動到既有的 data 和正式使用中的 config

3. 檢查外掛

這一步很關鍵。像 elasticsearch-sql 這類協力廠商外掛,版本不對就可能直接起不來。可以先列出現有外掛:

1
./bin/elasticsearch-plugin list

需要時先移除舊版,再安裝對應版本。

4. 啟動後驗證

升級完不是能啟動就算成功,還要看叢集狀態、索引狀態和應用查詢是否正常。

1
curl http://localhost:9200/_cluster/health

升級時容易忽略的點

1. 小版本升級不代表零風險

雖然不是跨大版,但外掛和某些設定還是可能有差異。

2. 先看應用有沒有綁死舊行為

有些系統其實不是 ES 升不了,而是你上層應用把某些查詢或欄位格式綁得太死。

3. 維護時段要預留

不要預設這類升級一定一次成功。外掛重裝、啟動驗證、回滾判斷都需要時間。

小結

ElasticSearch 6.3 升到 6.6.1 看似只是小升級,但仍然要把備份、外掛相容性和啟動後驗證當成重點。比起追求最快升級,真正重要的是能不能安全升上去、出問題時能不能退回來。