系列文章目錄
提示:這里可以添加系列文章的所有文章的目錄,目錄需要自己手動添加
例如:第一章 Python 機器學習入門之pandas的使用
提示:寫完文章后,目錄可以自動生成,如何生成可參考右邊的幫助文檔
文章目錄
- 系列文章目錄
- 前言
- 一、環境準備
- 二、遇到的問題與分析
- 三、配置說明
-
- 3.1 Elasticsearch 配置(elasticsearch.yml)
- 3.2 Docker Compose 配置
- 四、部署步驟
- 五、驗證集群狀態
-
- 5.1 查看節點
- 5.2 查看 Master 節點
- 六、總結
前言
在實際生產環境中,Elasticsearch 通常需要部署成多節點集群,以保證高可用性和數據冗余。本文結合 Docker Compose,講解如何在多臺機器上部署 Elasticsearch 9.x 集群,并集成 Kibana,同時詳細說明遇到的坑和解決辦法。
一、環境準備
- 三臺服務器(或三臺虛擬機)
- Elasticsearch 9.x 鏡像(官方 Bitnami 鏡像)
- Kibana 9.x 鏡像(官方Bitnami 鏡像)
- Docker & Docker Compose 已安裝
- 網絡可互通
節點 IP 示例
節點 | ip |
---|---|
es01 | 192.168.18.191 |
es02 | 192.168.18.190 |
es03 | 192.168.18.197 |
二、遇到的問題與分析
在配置多節點 Elasticsearch 集群時,我們可能會遇到以下問題:
- 節點競爭 master
- 日志示例:
master not discovered or elected yet, an election requires 2 nodes - 原因:initial_master_nodes 未正確配置,或者集群節點不一致。
- 遠程節點 cluster.name 不匹配
- 日志示例:
remote cluster name [elasticsearch] does not match local cluster name [es-cluster] - 原因:不同節點 cluster.name 不一致導致 handshake 失敗。
- AWS S3 插件報錯
- 日志示例:
failed to obtain region from default provider chain - 原因:S3 倉庫未配置 AWS 區域環境變量,如果不使用 S3 可以忽略。