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   后台启动

 

posted @   zyl88  阅读(625)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示