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