美文网首页
docker-compose 搭建elasticsearch7.

docker-compose 搭建elasticsearch7.

作者: JAN_ZHANG | 来源:发表于2022-02-17 15:18 被阅读0次

1.新建一个文件夹es-cluster,在添加777权限,否则挂载文件会报错,权限不足或者文件无法打开

mkdir es-cluster
mkdir es-cluster/es01
mkdir es-cluster/es02
mkdir es-cluster/es03
mkdir es-cluster/es01/config
mkdir es-cluster/es02/config
mkdir es-cluster/es03/config
chmod -R 777 es-cluster

2.在es-cluster下新建docker-compose.yml文件

version: "3"
services:
  elasticsearch01:
    image: elasticsearch:7.8.1
    restart: always
    container_name: es-cluster01
    environment:
      - TZ=Asia/Shanghai
      - cluster.name=es-cluster
      - bootstrap.memory_lock=true
      - node.name=node1
      - node.data=true
      - http.cors.enabled=true
      - http.cors.allow-origin=*
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.seed_hosts=es-cluster01,es-cluster02,es-cluster03
      - cluster.initial_master_nodes=node1
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - /dockerfile/es-cluster/es01/plugins:/usr/share/elasticsearch/plugins
      - /dockerfile/es-cluster/es01/logs:/usr/share/elasticsearch/logs
      - /dockerfile/es-cluster/es01/data:/usr/share/elasticsearch/data
      - /dockerfile/es-cluster/es01/config/elasticsearch.yml:/usr/share/elasticsearch/data/config/elasticsearch.yml
    ports:
      - 9201:9200
    privileged: true

  elasticsearch02:
    image: elasticsearch:7.8.1
    restart: always
    container_name: es-cluster02
    environment:
      - TZ=Asia/Shanghai
      - cluster.name=es-cluster
      - bootstrap.memory_lock=true
      - node.name=node2
      - node.data=true
      - http.cors.enabled=true
      - http.cors.allow-origin=*
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.seed_hosts=es-cluster01,es-cluster02,es-cluster03
      - cluster.initial_master_nodes=node1
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - /dockerfile/es-cluster/es02/plugins:/usr/share/elasticsearch/plugins
      - /dockerfile/es-cluster/es02/logs:/usr/share/elasticsearch/logs
      - /dockerfile/es-cluster/es02/data:/usr/share/elasticsearch/data
      - /dockerfile/es-cluster/es02/config/elasticsearch.yml:/usr/share/elasticsearch/data/config/elasticsearch.yml
    ports:
      - 9202:9200
    privileged: true

  elasticsearch03:
    image: elasticsearch:7.8.1
    restart: always
    container_name: es-cluster03
    environment:
      - TZ=Asia/Shanghai
      - cluster.name=es-cluster
      - bootstrap.memory_lock=true
      - node.name=node3
      - node.data=true
      - http.cors.enabled=true
      - http.cors.allow-origin=*
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - "discovery.seed_hosts=es-cluster01,es-cluster02,es-cluster03"
      - cluster.initial_master_nodes=node1
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - /dockerfile/es-cluster/es03/plugins:/usr/share/elasticsearch/plugins
      - /dockerfile/es-cluster/es03/logs:/usr/share/elasticsearch/logs
      - /dockerfile/es-cluster/es03/data:/usr/share/elasticsearch/data
      - /dockerfile/es-cluster/es03/config/elasticsearch.yml:/usr/share/elasticsearch/data/config/elasticsearch.yml
    ports:
      - 9203:9200
    privileged: true
  • 创建完成后用docker-compose config -q检查配置文件是否有错误

3.在每个config文件夹下创建elasticsearch.yml

cluster.name: "docker-cluster"
network.host: 0.0.0.0
gateway.recover_after_nodes: 2
network.tcp.keep_alive: true
network.tcp.no_delay: true
transport.tcp.compress: true
#集群内同时启动的数据任务个数,默认是 2 个
cluster.routing.allocation.cluster_concurrent_rebalance: 16
##添加或删除节点及负载均衡时并发恢复的线程个数,默认 4 个
cluster.routing.allocation.node_concurrent_recoveries: 16
#初始化数据恢复时,并发恢复线程的个数,默认 4 个
cluster.routing.allocation.node_initial_primaries_recoveries: 16

4.在es-cluster文件夹下执行

docker-compose up -d

5.浏览器访问

  • 虚拟机上需要关闭防火墙
  • 服务器上自己放开端口,和在控制台里面的安全组开放对应端口
#查看是否启动
http://ip:9201 
#查看节点
http://ip:9201/_cat/nodes

相关文章

网友评论

      本文标题:docker-compose 搭建elasticsearch7.

      本文链接:https://www.haomeiwen.com/subject/bpkslrtx.html