add es 8.0
							parent
							
								
									75c1bc97da
								
							
						
					
					
						commit
						314be99310
					
				| 
						 | 
				
			
			@ -0,0 +1,29 @@
 | 
			
		|||
# Password for the 'elastic' user (at least 6 characters)
 | 
			
		||||
ELASTIC_PASSWORD=lilishop
 | 
			
		||||
 | 
			
		||||
# Password for the 'kibana_system' user (at least 6 characters)
 | 
			
		||||
KIBANA_PASSWORD=lilishop
 | 
			
		||||
 | 
			
		||||
# Version of Elastic products
 | 
			
		||||
STACK_VERSION=8.0.0
 | 
			
		||||
 | 
			
		||||
# Set the cluster name
 | 
			
		||||
CLUSTER_NAME=docker-cluster
 | 
			
		||||
 | 
			
		||||
# Set to 'basic' or 'trial' to automatically start the 30-day trial
 | 
			
		||||
LICENSE=basic
 | 
			
		||||
#LICENSE=trial
 | 
			
		||||
 | 
			
		||||
# Port to expose Elasticsearch HTTP API to the host
 | 
			
		||||
ES_PORT=9200
 | 
			
		||||
#ES_PORT=127.0.0.1:9200
 | 
			
		||||
 | 
			
		||||
# Port to expose Kibana to the host
 | 
			
		||||
KIBANA_PORT=5601
 | 
			
		||||
#KIBANA_PORT=80
 | 
			
		||||
 | 
			
		||||
# Increase or decrease based on the available host memory (in bytes)
 | 
			
		||||
MEM_LIMIT=1073741824
 | 
			
		||||
 | 
			
		||||
# Project namespace (defaults to the current folder name if not set)
 | 
			
		||||
#COMPOSE_PROJECT_NAME=myproject
 | 
			
		||||
| 
						 | 
				
			
			@ -31,4 +31,3 @@ default-character-set=utf8mb4
 | 
			
		|||
#default-character-set=utf8
 | 
			
		||||
 | 
			
		||||
default-character-set=utf8mb4
 | 
			
		||||
group_concat_max_len=-1
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,257 @@
 | 
			
		|||
version: "3"
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  setup:
 | 
			
		||||
    image: docker.elastic.co/elasticsearch/elasticsearch:${STACK_VERSION}
 | 
			
		||||
    # volumes:
 | 
			
		||||
      # - certs:/usr/share/elasticsearch/config/certs
 | 
			
		||||
    user: "0"
 | 
			
		||||
    command: >
 | 
			
		||||
      bash -c '
 | 
			
		||||
        if [ x${ELASTIC_PASSWORD} == x ]; then
 | 
			
		||||
          echo "Set the ELASTIC_PASSWORD environment variable in the .env file";
 | 
			
		||||
          exit 1;
 | 
			
		||||
        elif [ x${KIBANA_PASSWORD} == x ]; then
 | 
			
		||||
          echo "Set the KIBANA_PASSWORD environment variable in the .env file";
 | 
			
		||||
          exit 1;
 | 
			
		||||
        fi;
 | 
			
		||||
        if [ ! -f certs/ca.zip ]; then
 | 
			
		||||
          echo "Creating CA";
 | 
			
		||||
          bin/elasticsearch-certutil ca --silent --pem -out config/certs/ca.zip;
 | 
			
		||||
          unzip config/certs/ca.zip -d config/certs;
 | 
			
		||||
        fi;
 | 
			
		||||
        if [ ! -f certs/certs.zip ]; then
 | 
			
		||||
          echo "Creating certs";
 | 
			
		||||
          echo -ne \
 | 
			
		||||
          "instances:\n"\
 | 
			
		||||
          "  - name: es01\n"\
 | 
			
		||||
          "    dns:\n"\
 | 
			
		||||
          "      - es01\n"\
 | 
			
		||||
          "      - localhost\n"\
 | 
			
		||||
          "    ip:\n"\
 | 
			
		||||
          "      - 127.0.0.1\n"\
 | 
			
		||||
          "  - name: es02\n"\
 | 
			
		||||
          "    dns:\n"\
 | 
			
		||||
          "      - es02\n"\
 | 
			
		||||
          "      - localhost\n"\
 | 
			
		||||
          "    ip:\n"\
 | 
			
		||||
          "      - 127.0.0.1\n"\
 | 
			
		||||
          "  - name: es03\n"\
 | 
			
		||||
          "    dns:\n"\
 | 
			
		||||
          "      - es03\n"\
 | 
			
		||||
          "      - localhost\n"\
 | 
			
		||||
          "    ip:\n"\
 | 
			
		||||
          "      - 127.0.0.1\n"\
 | 
			
		||||
          > config/certs/instances.yml;
 | 
			
		||||
          bin/elasticsearch-certutil cert --silent --pem -out config/certs/certs.zip --in config/certs/instances.yml --ca-cert config/certs/ca/ca.crt --ca-key config/certs/ca/ca.key;
 | 
			
		||||
          unzip config/certs/certs.zip -d config/certs;
 | 
			
		||||
        fi;
 | 
			
		||||
        echo "Setting file permissions"
 | 
			
		||||
        chown -R root:root config/certs;
 | 
			
		||||
        find . -type d -exec chmod 750 \{\} \;;
 | 
			
		||||
        find . -type f -exec chmod 640 \{\} \;;
 | 
			
		||||
        echo "Waiting for Elasticsearch availability";
 | 
			
		||||
        until curl -s --cacert config/certs/ca/ca.crt https://es01:9200 | grep -q "missing authentication credentials"; do sleep 30; done;
 | 
			
		||||
        echo "Setting kibana_system password";
 | 
			
		||||
        until curl -s -X POST --cacert config/certs/ca/ca.crt -u elastic:${ELASTIC_PASSWORD} -H "Content-Type: application/json" https://es01:9200/_security/user/kibana_system/_password -d "{\"password\":\"${KIBANA_PASSWORD}\"}" | grep -q "^{}"; do sleep 10; done;
 | 
			
		||||
        echo "All done!";
 | 
			
		||||
      '
 | 
			
		||||
    healthcheck:
 | 
			
		||||
      test: ["CMD-SHELL", "[ -f config/certs/es01/es01.crt ]"]
 | 
			
		||||
      interval: 1s
 | 
			
		||||
      timeout: 5s
 | 
			
		||||
      retries: 120
 | 
			
		||||
 | 
			
		||||
  es01:
 | 
			
		||||
    depends_on:
 | 
			
		||||
      setup:
 | 
			
		||||
        condition: service_healthy
 | 
			
		||||
    image: docker.elastic.co/elasticsearch/elasticsearch:${STACK_VERSION}
 | 
			
		||||
    volumes:
 | 
			
		||||
      # - certs:/usr/share/elasticsearch/config/certs
 | 
			
		||||
      - ../volumes/data/es01/logs:/usr/share/es/logs:rw
 | 
			
		||||
      - ../volumes/data/es01/data:/usr/share/es/data:rw
 | 
			
		||||
    ports:
 | 
			
		||||
      - ${ES_PORT}:9200
 | 
			
		||||
    environment:
 | 
			
		||||
      - node.name=es01
 | 
			
		||||
      - cluster.name=${CLUSTER_NAME}
 | 
			
		||||
      - cluster.initial_master_nodes=es01,es02,es03
 | 
			
		||||
      - discovery.seed_hosts=es02,es03
 | 
			
		||||
      - ELASTIC_PASSWORD=${ELASTIC_PASSWORD}
 | 
			
		||||
      - bootstrap.memory_lock=true
 | 
			
		||||
      - xpack.security.enabled=true
 | 
			
		||||
      # - xpack.security.http.ssl.enabled=true
 | 
			
		||||
      # - xpack.security.http.ssl.key=certs/es01/es01.key
 | 
			
		||||
      # - xpack.security.http.ssl.certificate=certs/es01/es01.crt
 | 
			
		||||
      # - xpack.security.http.ssl.certificate_authorities=certs/ca/ca.crt
 | 
			
		||||
      # - xpack.security.http.ssl.verification_mode=certificate
 | 
			
		||||
      # - xpack.security.transport.ssl.enabled=true
 | 
			
		||||
      # - xpack.security.transport.ssl.key=certs/es01/es01.key
 | 
			
		||||
      # - xpack.security.transport.ssl.certificate=certs/es01/es01.crt
 | 
			
		||||
      # - xpack.security.transport.ssl.certificate_authorities=certs/ca/ca.crt
 | 
			
		||||
      # - xpack.security.transport.ssl.verification_mode=certificate
 | 
			
		||||
      - xpack.license.self_generated.type=${LICENSE}
 | 
			
		||||
    mem_limit: ${MEM_LIMIT}
 | 
			
		||||
    networks: 
 | 
			
		||||
      - stack
 | 
			
		||||
    ulimits:
 | 
			
		||||
      memlock:
 | 
			
		||||
        soft: -1
 | 
			
		||||
        hard: -1
 | 
			
		||||
    healthcheck:
 | 
			
		||||
      test:
 | 
			
		||||
        [
 | 
			
		||||
          "CMD-SHELL",
 | 
			
		||||
          "curl -s --cacert config/certs/ca/ca.crt https://localhost:9200 | grep -q 'missing authentication credentials'",
 | 
			
		||||
        ]
 | 
			
		||||
      interval: 10s
 | 
			
		||||
      timeout: 10s
 | 
			
		||||
      retries: 120
 | 
			
		||||
 | 
			
		||||
  es02:
 | 
			
		||||
    depends_on:
 | 
			
		||||
      - es01
 | 
			
		||||
    image: docker.elastic.co/elasticsearch/elasticsearch:${STACK_VERSION}
 | 
			
		||||
    volumes:
 | 
			
		||||
      # - certs:/usr/share/elasticsearch/config/certs
 | 
			
		||||
      - ../volumes/data/es02/logs:/usr/share/es/logs:rw
 | 
			
		||||
      - ../volumes/data/es02/data:/usr/share/es/data:rw
 | 
			
		||||
    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=true
 | 
			
		||||
      # - xpack.security.http.ssl.enabled=true
 | 
			
		||||
      # - xpack.security.http.ssl.key=certs/es02/es02.key
 | 
			
		||||
      # - xpack.security.http.ssl.certificate=certs/es02/es02.crt
 | 
			
		||||
      # - xpack.security.http.ssl.certificate_authorities=certs/ca/ca.crt
 | 
			
		||||
      # - xpack.security.http.ssl.verification_mode=certificate
 | 
			
		||||
      # - xpack.security.transport.ssl.enabled=true
 | 
			
		||||
      # - xpack.security.transport.ssl.key=certs/es02/es02.key
 | 
			
		||||
      # - xpack.security.transport.ssl.certificate=certs/es02/es02.crt
 | 
			
		||||
      # - xpack.security.transport.ssl.certificate_authorities=certs/ca/ca.crt
 | 
			
		||||
      # - xpack.security.transport.ssl.verification_mode=certificate
 | 
			
		||||
      - xpack.license.self_generated.type=${LICENSE}
 | 
			
		||||
    mem_limit: ${MEM_LIMIT}
 | 
			
		||||
    networks: 
 | 
			
		||||
      - stack
 | 
			
		||||
    ulimits:
 | 
			
		||||
      memlock:
 | 
			
		||||
        soft: -1
 | 
			
		||||
        hard: -1
 | 
			
		||||
    healthcheck:
 | 
			
		||||
      test:
 | 
			
		||||
        [
 | 
			
		||||
          "CMD-SHELL",
 | 
			
		||||
          "curl -s --cacert config/certs/ca/ca.crt https://localhost:9200 | grep -q 'missing authentication credentials'",
 | 
			
		||||
        ]
 | 
			
		||||
      interval: 10s
 | 
			
		||||
      timeout: 10s
 | 
			
		||||
      retries: 120
 | 
			
		||||
 | 
			
		||||
  es03:
 | 
			
		||||
    depends_on:
 | 
			
		||||
      - es02
 | 
			
		||||
    image: docker.elastic.co/elasticsearch/elasticsearch:${STACK_VERSION}
 | 
			
		||||
    volumes:
 | 
			
		||||
      # - certs:/usr/share/elasticsearch/config/certs
 | 
			
		||||
      - ../volumes/data/es03/logs:/usr/share/es/logs:rw
 | 
			
		||||
      - ../volumes/data/es03/data:/usr/share/es/data:rw
 | 
			
		||||
    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=true
 | 
			
		||||
      # - xpack.security.http.ssl.enabled=true
 | 
			
		||||
      # - xpack.security.http.ssl.key=certs/es03/es03.key
 | 
			
		||||
      # - xpack.security.http.ssl.certificate=certs/es03/es03.crt
 | 
			
		||||
      # - xpack.security.http.ssl.certificate_authorities=certs/ca/ca.crt
 | 
			
		||||
      # - xpack.security.http.ssl.verification_mode=certificate
 | 
			
		||||
      # - xpack.security.transport.ssl.enabled=true
 | 
			
		||||
      # - xpack.security.transport.ssl.key=certs/es03/es03.key
 | 
			
		||||
      # - xpack.security.transport.ssl.certificate=certs/es03/es03.crt
 | 
			
		||||
      # - xpack.security.transport.ssl.certificate_authorities=certs/ca/ca.crt
 | 
			
		||||
      # - xpack.security.transport.ssl.verification_mode=certificate
 | 
			
		||||
      - xpack.license.self_generated.type=${LICENSE}
 | 
			
		||||
    mem_limit: ${MEM_LIMIT}
 | 
			
		||||
    networks: 
 | 
			
		||||
      - stack
 | 
			
		||||
    ulimits:
 | 
			
		||||
      memlock:
 | 
			
		||||
        soft: -1
 | 
			
		||||
        hard: -1
 | 
			
		||||
    healthcheck:
 | 
			
		||||
      test:
 | 
			
		||||
        [
 | 
			
		||||
          "CMD-SHELL",
 | 
			
		||||
          "curl -s --cacert config/certs/ca/ca.crt https://localhost:9200 | grep -q 'missing authentication credentials'",
 | 
			
		||||
        ]
 | 
			
		||||
      interval: 10s
 | 
			
		||||
      timeout: 10s
 | 
			
		||||
      retries: 120
 | 
			
		||||
 | 
			
		||||
  kibana:
 | 
			
		||||
    depends_on:
 | 
			
		||||
      es01:
 | 
			
		||||
        condition: service_healthy
 | 
			
		||||
      es02:
 | 
			
		||||
        condition: service_healthy
 | 
			
		||||
      es03:
 | 
			
		||||
        condition: service_healthy
 | 
			
		||||
    image: docker.elastic.co/kibana/kibana:${STACK_VERSION}
 | 
			
		||||
    volumes:
 | 
			
		||||
      # - certs:/usr/share/kibana/config/certs
 | 
			
		||||
      - ../volumes/data/kibanadata:/usr/share/kibana/data:rw
 | 
			
		||||
    ports:
 | 
			
		||||
      - ${KIBANA_PORT}:5601
 | 
			
		||||
    environment:
 | 
			
		||||
      - SERVERNAME=kibana
 | 
			
		||||
      - ELASTICSEARCH_HOSTS=https://es01:9200
 | 
			
		||||
      - ELASTICSEARCH_USERNAME=kibana_system
 | 
			
		||||
      - ELASTICSEARCH_PASSWORD=${KIBANA_PASSWORD}
 | 
			
		||||
      # - ELASTICSEARCH_SSL_CERTIFICATEAUTHORITIES=config/certs/ca/ca.crt
 | 
			
		||||
    mem_limit: ${MEM_LIMIT}
 | 
			
		||||
    networks: 
 | 
			
		||||
      - stack
 | 
			
		||||
    healthcheck:
 | 
			
		||||
      test:
 | 
			
		||||
        [
 | 
			
		||||
          "CMD-SHELL",
 | 
			
		||||
          "curl -s -I http://localhost:5601 | grep -q 'HTTP/1.1 302 Found'",
 | 
			
		||||
        ]
 | 
			
		||||
      interval: 10s
 | 
			
		||||
      timeout: 10s
 | 
			
		||||
      retries: 120
 | 
			
		||||
 | 
			
		||||
  logstash:
 | 
			
		||||
    image: logstash:8.0.0
 | 
			
		||||
    container_name: logstash
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./config/logstash-springboot.conf:/usr/share/logstash/pipeline/logstash.conf #挂载logstash的配置文件
 | 
			
		||||
      - ./config/logstash.yml:/usr/share/logstash/config/logstash.yml
 | 
			
		||||
      - ./config/lili_goods.json:/usr/share/logstash/templates/lili_goods.json
 | 
			
		||||
    networks: 
 | 
			
		||||
      - stack
 | 
			
		||||
    depends_on: ['elasticsearch']
 | 
			
		||||
    ports: 
 | 
			
		||||
      - 4560:4560
 | 
			
		||||
 | 
			
		||||
volumes:
 | 
			
		||||
  certs:
 | 
			
		||||
    driver: local
 | 
			
		||||
  esdata01:
 | 
			
		||||
    driver: local
 | 
			
		||||
  esdata02:
 | 
			
		||||
    driver: local
 | 
			
		||||
  esdata03:
 | 
			
		||||
    driver: local
 | 
			
		||||
  kibanadata:
 | 
			
		||||
    driver: local
 | 
			
		||||
networks: 
 | 
			
		||||
  stack:
 | 
			
		||||
    driver: bridge
 | 
			
		||||
| 
						 | 
				
			
			@ -13,7 +13,8 @@ services:
 | 
			
		|||
      - "MYSQL_ROOT_PASSWORD=lilishop"
 | 
			
		||||
      - "MYSQL_DATABASE=lilishop"
 | 
			
		||||
      - "TZ=Asia/Shanghai"
 | 
			
		||||
    network_mode: host
 | 
			
		||||
    ports:
 | 
			
		||||
      - 3306:3306
 | 
			
		||||
 | 
			
		||||
  redis:
 | 
			
		||||
    image: redis:6.2.5
 | 
			
		||||
| 
						 | 
				
			
			@ -34,7 +35,6 @@ services:
 | 
			
		|||
      - ../volumes/data/es7/data:/usr/share/es7/data:rw
 | 
			
		||||
      - ./config/ik:/usr/share/elasticsearch/plugins/ik
 | 
			
		||||
        #      - "./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml"
 | 
			
		||||
    restart: on-failure
 | 
			
		||||
    ports: 
 | 
			
		||||
      - "9200:9200"
 | 
			
		||||
      - "9300:9300"
 | 
			
		||||
| 
						 | 
				
			
			@ -139,6 +139,8 @@ services:
 | 
			
		|||
      - mysql
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ../volumes/data/xxl-job:/data/applogs
 | 
			
		||||
    ports:
 | 
			
		||||
      - 9001:9001
 | 
			
		||||
networks: 
 | 
			
		||||
  rocketmq:
 | 
			
		||||
    driver: bridge
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue