docker安装es集群

2023-04-20

version: '2'
networks:
  es-net:
    driver: bridge
services:
  es-head:
    image: mobz/elasticsearch-head:5-alpine
    container_name: es-head
    ports:
      - "9100:9100"
  es-node1:
    image: elasticsearch:7.17.7
    container_name: es-node1
    networks:
      - es-net
    ports:
      - "9201:9200"
      - "9301:9300"
    volumes:
      - c:/docker/elasticsearch/config/node1.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - c:/docker/elasticsearch/data/node1:/usr/share/elasticsearch/data
    environment:
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
  es-node2:
    image: elasticsearch:7.17.7
    container_name: es-node2
    networks:
      - es-net
    ports:
      - "9202:9200"
      - "9302:9300"
    volumes:
      - c:/docker/elasticsearch/config/node2.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - c:/docker/elasticsearch/data/node2:/usr/share/elasticsearch/data
    environment:
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
  es-node3:
    image: elasticsearch:7.17.7
    container_name: es-node3
    networks:
      - es-net
    ports:
      - "9203:9200"
      - "9303:9300"
    volumes:
      - c:/docker/elasticsearch/config/node3.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - c:/docker/elasticsearch/data/node3:/usr/share/elasticsearch/data
    environment:
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"








node.yml

# 跨域
http.cors.enabled: true
http.cors.allow-origin: "*"

#集群名称
cluster.name: elasticsearch-cluster
#节点名称
node.name: es-node1
#网络地址
network.host: 0.0.0.0
#设置当前节点与其他节点交互的IP地址
network.publish_host: _eth0_
#端口
http.port: 9200
#内部节点之间沟通端口
transport.tcp.port: 9300
#是不是有资格竞选主节点
node.master: true
#是否存储数据
node.data: true

#写入候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["es-node1","es-node2","es-node3"]
#初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["es-node1","es-node2","es-node3"]





其他两份node.yum只修改node.name就行




docker-compose up




安装ik插件,es默认分词器对中文支持度不高




解决Windows下Docker启动Elasticsearch报max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]的报错

wsl -d docker-desktop

sysctl -w vm.max_map_count=262144