Site icon Mr. 沙先生

Elasticsearch 5/6 升級 7.x 注意事項及設定差異

Elasticsearch 在現在公司玩了一陣子,也升級過幾次大概有一些心得可以分享,這篇專注在 7.x 版本 (寫文章當下的版本是 7.7)

一開始先提 Elasticsearch 升級時必須注意的事項:

大前提說完之後,來聊一下 Elasticsearch 7.x 會遇到的幾個重大更新:

介面與功能大曜進

Elasticsearch 7.x 之後把整個使用者體驗的介面全換新了,還加上 Dark mode 簡述一個字「潮」,官方更稱 7.0 版本是歷經 10,000 個 PR 來了

支援多叢集查詢

單一叢集在這個時代已經不夠用了,多叢集整合的概念在許多 Framework 漸漸實現,像是 kubefed (Kubernetes federation v2) 這種大型服務

而 Elasticsearch 也跨出了這一步讓 Search across clusters 實現意味著不需要再把所有資料放在同一個叢集,整天擔心受怕這個 Cluster 會不會杯具,從更遠來看跨地域、跨平台,不同叢集實作不同的功能,讓整個 Elasticsearch 架構更加龐大,X-Pack 也趁機推出 CCR (cross-cluster replication) 來賣錢。

Multiple Cluster 的概念把重要核心拉到更高層級,進而延伸出 Remote Cluster 的方式 :

Discovery

Zen Discovery 切分 Dev/Production mode,參考 development vs. production mode 設定上有以下差異:

discovery.type: single-node
cluster.initial_master_nodes:
  - master-node-a
  - master-node-b
  - master-node-c

移除 mapping type 改用 Index per document type

remove-of-types 提到從 Elasticsearch 7.x 開始不再支援 mapping type 並且建議改用 Index per document type

每個 node 最多 1000 個 shards

原本只有在文件中建議一個 node 最多 1000 個以下的 shards,現在乾脆直接預設不能超過 1000 shards

但是官方提供的 cluster.max_shards_per_node 有一些問題,詳細可以參考「Elasticsearch 7.x node 開放 1000 個 shards 限制

Exit mobile version