
docker-compose安装elasticsearch(集群)
title: docker-compose安装elasticsearch(集群)
date: 2021-12-07 22:00:15
categories:
- 安装elasticsearch
tags:
- docker
- elasticsearch
- kibana
cover: https://coupon-image.oss-cn-shanghai.aliyuncs.com/image/blog/elasticsearch.jpg
docker-compose安装elasticsearch集群与kibana
在工作目录创建docker-compose.yml文件
version: '2.2'
services:
# 节点一,
es01:
# 此处为 elasticsearch 的镜像版本, 具体版本可以去官网寻找,也可以直接使用此版本
image: docker.elastic.co/elasticsearch/elasticsearch:7.9.3
# es01 为节点一名称,可以随意修改
container_name: es01
# 环境配置,具体会在容器内生效
environment:
- node.name=es01
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es02,es03
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- data01:/usr/share/elasticsearch/data
# 映射到外部宿主机端口, 这里只对主节点进行映射,其他节点并没有进行映射
ports:
- 9200:9200
# 网络配置,增加此处主要是因为docker容器之间网络隔断,不互通。增加之后,则三个几点与kibana都在同一网络。
networks:
- elastic
es02:
image: docker.elastic.co/elasticsearch/elasticsearch:7.9.3
container_name: es02
environment:
- node.name=es02
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es01,es03
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- data02:/usr/share/elasticsearch/data
networks:
- elastic
es03:
image: docker.elastic.co/elasticsearch/elasticsearch:7.9.3
container_name: es03
environment:
- node.name=es03
- cluster.name=es-docker-cluster
- discovery.seed_hosts=es01,es02
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- data03:/usr/share/elasticsearch/data
networks:
- elastic
# kibana 配置,如果已经有其他的kibana,可以去除此配置,直接配置其他kibana的ELASTICSEARCH_HOSTS
kibana:
container_name: kb
image: docker.elastic.co/kibana/kibana:7.9.3
environment:
# 此处配置elasticsearch的host列表,
ELASTICSEARCH_HOSTS: '["http://es01:9200"]'
volumes:
# 映射宿主机配置文件到kibana具体容器, /home/docker/es/kibana.yml代表宿主机的文件路径, /usr/share/kibana/config/kibana.yml 此路径不需要修改,否则配置路径错误,配置文件无法生效
- /home/docker/es/kibana.yml:/usr/share/kibana/config/kibana.yml
ports:
- '5601:5601' #java、集群通信端口
privileged: true #环境变量
networks:
- elastic
volumes:
data01:
driver: local
data02:
driver: local
data03:
driver: local
# 此处网络配置
networks:
elastic:
# 网络桥接模式
driver: bridge
执行命令启动容器
docker-compose up -d
-d 后台运行容器
查看容器日志(防止日志错误)
docker logs {容器id|容器名称}
kibana.yml文件内容
server.name: kibana
# server.publicBaseUrl: "http://172.1.1.14:5601"
# kibana的主机地址 0.0.0.0可表示监听所有IP
server.host: "0.0.0.0"
# kibana访问es的URL 如果es设置密码,则需要使用 username 、password配置
#elasticsearch.hosts: [ "http://172.1.1.14:9200" ]
# elasticsearch.username: 'kibana'
# elasticsearch.password: 'kibana'
# 显示登陆页面
#xpack.monitoring.ui.container.elasticsearch.enabled: true
# 语言-此处展示为 中文
i18n.locale: "zh-CN"
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员小航
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果