系列文章目录
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 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 可以忽略。