docker-compose安装es集群

1、创建3个node节点并授权,es集群至少需要3个节点,防止脑裂

复制代码
# 创建node目录
mkdir -p /data/es/data/node1/data
mkdir -p /data/es/data/node2/data
mkdir -p /data/es/data/node3/data
 
# 授权node目录
chmod 777 /data/es/data/node1/data
chmod 777 /data/es/data/node2/data
chmod 777 /data/es/data/node3/data
复制代码

2、修改 sysctl.conf 文件

# 修改sysctl.conf,解决 max virtual memory areas vm.max_map_count [65530] is too low 问题
vi /etc/sysctl.conf
 
# 在最后添加一行
vm.max_map_count=655300
 
# 使文件生效
sysctl -p /etc/sysctl.conf

3、创建docker-compose.yaml

复制代码
version: '2.2'
services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0
    container_name: es01
    environment:
      - node.name=es01
      - cluster.name=es-cluster
      - discovery.seed_hosts=es02,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms1024m -Xmx1024m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - /data/es/data/node1/data:/usr/share/elasticsearch/data
      - /data/es/ik:/usr/share/elasticsearch/plugins/ik
    ports:
      - 9201:9200
    networks:
      - elastic
  es02:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0
    container_name: es02
    environment:
      - node.name=es02
      - cluster.name=es-cluster
      - discovery.seed_hosts=es01,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms1024m -Xmx1024m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - /data/es/data/node2/data:/usr/share/elasticsearch/data
      - /data/es/ik:/usr/share/elasticsearch/plugins/ik
    ports:
      - 9202:9200
    networks:
      - elastic
  es03:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0
    container_name: es03
    environment:
      - node.name=es03
      - cluster.name=es-cluster
      - discovery.seed_hosts=es01,es02
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms1024m -Xmx1024m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - /data/es/data/node3/data:/usr/share/elasticsearch/data
      - /data/es/ik:/usr/share/elasticsearch/plugins/ik
    ports:
      - 9203:9200
    networks:
      - elastic
 
networks:
  elastic:
    driver: bridge
复制代码

4、启动es集群

# 启动
docker-compose up -d
 
# 查看启动状态
docker ps -a
 
# 查看日志命令,es01代表其中一个node节点
docker logs es01

 

posted @   awks  阅读(204)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示