docker-compose快速部署elasticsearch-8.8.1集群+kibana
安装环境
centos7.9 8cpu 16G 内存 vda50 G vdb 100G
如果您的环境是Linux,注意要做以下操作,否则es可能会启动失败
用编辑工具打开文件/etc/sysctl.conf
在尾部添加一行配置vm.max_map_count = 262144,如果已存在就修改,数值不能低于262144
修改保存,然后执行命令sudo sysctl -p使其立即生效
找个干净目录,新建名为.env的文件
#ELASTIC_PASSWORD=123 KIBANA_PASSWORD=123 STACK_VERSION=8.8.1 CLUSTER_NAME=docker-cluster LICENSE=basic ES_PORT=9200 KIBANA_PORT=5601 MEM_LIMIT=4294967296 # Project namespace (defaults to the current folder name if not set) #COMPOSE_PROJECT_NAME=myprojectb
编辑docker-compose 文件
version: "2.14.2"
services:
es01:
image: elasticsearch:${STACK_VERSION}
volumes:
- ./esdata01/data/:/usr/share/elasticsearch/data/
- ./esdata01/logs/:/usr/share/elasticsearch/logs/
ports:
- ${ES_PORT}:9200
environment:
- node.name=es01
- cluster.name=${CLUSTER_NAME}
- cluster.initial_master_nodes=es01,es02,es03
- discovery.seed_hosts=es02,es03
- bootstrap.memory_lock=true
- xpack.security.enabled=false
- xpack.security.http.ssl.enabled=false
- xpack.security.transport.ssl.enabled=false
mem_limit: ${MEM_LIMIT}
ulimits:
memlock:
soft: -1
hard: -1
es02:
depends_on:
- es01
image: elasticsearch:${STACK_VERSION}
volumes:
- ./esdata02/data/:/usr/share/elasticsearch/data/
- ./esdata02/logs/:/usr/share/elasticsearch/logs/
environment:
- node.name=es02
- cluster.name=${CLUSTER_NAME}
- cluster.initial_master_nodes=es01,es02,es03
- discovery.seed_hosts=es01,es03
- bootstrap.memory_lock=true
- xpack.security.enabled=false
- xpack.security.http.ssl.enabled=false
- xpack.security.transport.ssl.enabled=false
mem_limit: ${MEM_LIMIT}
ulimits:
memlock:
soft: -1
hard: -1
es03:
depends_on:
- es02
image: elasticsearch:${STACK_VERSION}
volumes:
- ./esdata03/data/:/usr/share/elasticsearch/data/
- ./esdata03/logs/:/usr/share/elasticsearch/logs/
environment:
- node.name=es03
- cluster.name=${CLUSTER_NAME}
- cluster.initial_master_nodes=es01,es02,es03
- discovery.seed_hosts=es01,es02
- bootstrap.memory_lock=true
- xpack.security.enabled=false
- xpack.security.http.ssl.enabled=false
- xpack.security.transport.ssl.enabled=false
mem_limit: ${MEM_LIMIT}
ulimits:
memlock:
soft: -1
hard: -1
kibana:
image: kibana:${STACK_VERSION}
volumes:
- kibanadata:/usr/share/kibana/data
ports:
- ${KIBANA_PORT}:5601
environment:
- SERVERNAME=kibana
- ELASTICSEARCH_HOSTS=http://es01:9200
- ELASTICSEARCH_USERNAME=kibana_system
- ELASTICSEARCH_PASSWORD=${KIBANA_PASSWORD}
mem_limit: ${MEM_LIMIT}
volumes:
esdata01:
driver: local
esdata02:
driver: local
esdata03:
driver: local
kibanadata:
driver: local
#networks:
#elastic:
#driver: bridge
#name: elastic
创建volume
mkdir -p certs
mkdir -p ./esdata01/{logs,data}
mkdir -p ./esdata02/{logs,data}
mkdir -p ./esdata03/{logs,data}
mkdir -p ./kibanadata
运行docker-compose
docker-compose -f docker-compose.yml up -d
参考资料: https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-compose-file
搭建开发单es+kibana
vim docker-compose.yaml
version: '3.7' services: elasticsearch: container_name: elasticsearch image: docker.elastic.co/elasticsearch/elasticsearch:8.8.1 volumes: - ./data:/usr/share/elasticsearch/data networks: - elasticsearch ports: - 9200:9200 environment: - node.name=elasticsearch - cluster.name=go-elasticsearch-kafka-demo - cluster.initial_master_nodes=elasticsearch - discovery.seed_hosts=elasticsearch - network.host=elasticsearch,_local_ - network.publish_host=elasticsearch - bootstrap.memory_lock=true - xpack.security.enabled=false - xpack.security.http.ssl.enabled=false - ES_JAVA_OPTS=-Xms1G -Xmx1G ulimits: { nofile: { soft: 262144, hard: 262144 }, memlock: -1 } healthcheck: test: curl --head --max-time 120 --retry 120 --retry-delay 1 --show-error --silent http://localhost:9200 kibana: container_name: kibana image: docker.elastic.co/kibana/kibana:8.8.1 depends_on: [ 'elasticsearch' ] networks: - elasticsearch ports: - 5601:5601 environment: - ELASTICSEARCH_HOSTS=http://elasticsearch:9200 - KIBANA_LOGGING_QUIET=true healthcheck: test: curl --max-time 120 --retry 120 --retry-delay 1 --show-error --silent http://localhost:5601 networks: elasticsearch: driver: bridge
mkdir data && chmod 777 data
docker-compose up -d 后台启动
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)