使用Docker-Compose建立ElasticSearch 6.4版本单机环境(含集群版)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/penker_zhao/article/details/85049152

配置docker-compose.yml文件如下:

elasticsearch:
    image: elasticsearch:6.4.0
    environment:
      - http.cors.enabled=true
      - http.cors.allow-origin=*
      - bootstrap.memory_lock=true
      - transport.host=0.0.0.0
      - transport.tcp.port=9300
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - network.host=0.0.0.0
      - node.name=es1
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
    volumes:
      - ./es:/opt/elasticsearch/data
      - ./elasticsearch.yml:/opt/elasticsearch/elasticsearch.yml
    ports:
      - 9200:9200
      - 9300:9300

其中nofile:soft:必须配,否则运行es会报max file is too low。如下图所示:

另外,也会报下面图示错误:vm.max_map_count is too low

https://blog.csdn.net/jiankunking/article/details/65448030

不同Docker机器,不同IP的集群环境设置,至少3台机器如下:

es-master:
    image: elasticsearch:6.4.0
    environment:
      - cluster.name=docker-cluster-dev
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - http.cors.enabled=true
      - http.cors.allow-origin=*
      - network.host=0.0.0.0
      - node.name=es1
      - node.master=true
      - node.data=true
      - node.ingest=true
      - network.publish_host=192.168.30.57
      - http.port=9200
      - transport.tcp.port=9300
      - discovery.zen.ping.unicast.hosts=192.168.30.57:9300,192.168.30.45:9300,192.168.30.45:9301
      - discovery.zen.minimum_master_nodes=1
      - TZ=Asia/Shanghai
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
    volumes:
      - ./es:/opt/elasticsearch/data
    ports:
      - 9200:9200
      - 9300:9300
    restart: always

另外一台机器:

es-node1:
    image: elasticsearch:6.4.0
    environment:
      - cluster.name=docker-cluster-dev
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - http.cors.enabled=true
      - http.cors.allow-origin=*
      - network.host=0.0.0.0
      - node.name=es2
      - node.master=true
      - node.data=true
      - node.ingest=true
      - network.publish_host=192.168.30.45
      - http.port=9200
      - transport.tcp.port=9300
      - discovery.zen.ping.unicast.hosts=192.168.30.57:9300,192.168.30.45:9300
      - discovery.zen.minimum_master_nodes=1
      - TZ=Asia/Shanghai
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
    volumes:
      - ./es:/opt/elasticsearch/data
    ports:
      - 9300:9300
      - 9200:9200
    restart: always
es-node2:
    image: elasticsearch:6.4.0
    environment:
      - cluster.name=docker-cluster-dev
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - http.cors.enabled=true
      - http.cors.allow-origin=*
      - network.host=0.0.0.0
      - node.name=es3
      - node.master=false
      - node.data=true
      - node.ingest=true
      - network.publish_host=192.168.30.45
      - http.port=9201
      - transport.tcp.port=9301
      - discovery.zen.ping.unicast.hosts=192.168.30.57:9300,192.168.30.45:9300,192.168.30.45:9301
      - discovery.zen.minimum_master_nodes=1
      - TZ=Asia/Shanghai
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
    volumes:
      - ./es:/opt/elasticsearch/data
    ports:
      - 9301:9301
      - 9201:9201
    restart: always
 

最后注意使用linux命令#>lokkit --port=9300:tcp,#>lokkit --port=9200:tcp,开放端口
      

猜你喜欢

转载自blog.csdn.net/penker_zhao/article/details/85049152