Docker-Compose部署 Elasticsearch(ES集群)

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

Docker-Compose部署 Elasticsearch(ES集群)摘要
今日目标
本文目标是掌握使用Docker-Compose部署Elasticsearch集群。
ES 集群概念介绍
单机Elasticsearch面临海量数据存储和单点故障问题。为解决这些问题,Elasticsearch通过分片(shard)和副本(replica)机制实现数据拆分存储和备份。分片允许将数据分布到多个节点,而副本提供容错能力,确保高可用性。通过合理规划分片和备份,可以有效降低节点成本。
ES集群相关概念
- 集群(Cluster): 一组具有共同名称的节点。
- 节点(Node): 基本组成单元,分为主节点和数据节点。
- 分片(Shard): 数据的基本单元,包括主分片和副本分片。
- 主分片(Primary Shard): 保存原始数据。
- 副本分片(Replica Shard): 提供数据冗余和容错性。
Docker-Compose构建ES集群
步骤一:编写Docker-Compose文件
创建名为 es-cluster.yml
的文件,定义三个Elasticsearch节点(es01、es02、es03)及其配置,同时添加Kibana和Cerebro用于监控。
步骤二:修改Linux系统权限
编辑 /etc/sysctl.conf
文件,添加 vm.max_map_count=262144
,并运行 sysctl -p
使配置生效。
步骤三:启动ES集群
运行以下命令启动集群:docker-compose -f es-cluster.yml -p elastic-kibana-cluster up -d
步骤四:查看日志
通过 docker logs -f 容器名称
查看运行日志。
ES集群状态监控
推荐使用Cerebro监控集群状态。访问 http://192.168.150.102:9000
,输入任意Elasticsearch节点地址和端口后点击连接即可。
创建索引库
方式一:使用Kibana DevTools
通过DevTools执行指令创建索引库,例如:
PUT /zbbmeta { "settings": { "number_of_shards": 3, "number_of_replicas": 1 }, "mappings": { "properties": { // mapping映射定义 ... } } }
方式二:使用Cerebro
通过Cerebro界面填写索引库信息并点击“Create”按钮完成创建。
如果您觉得本文不错,欢迎关注、点赞、收藏支持!
想要了解更多内容?



白皮书上线