美文网首页
基于docker安装ElasticSearch集群

基于docker安装ElasticSearch集群

作者: 凌康ACG | 来源:发表于2019-10-07 18:37 被阅读0次

    2019年10月7日 18:25:55 ElasticSearch最新版7.4.0
    基于docker-compose.yml安装ElasticSearch集群(单机两个节点)


    docker和compose的版本

    场景描述

    公司开发的挂车平台GPS服务模块涉及到了亿级位置信息数据,其他同事没有解决方案把皮球踢到我这,让我负责。需求包括轨迹回显、历史轨迹、时间段车辆位置等需求,直接sql查询肯定不行的,因此使用ElasticSearch解决方案。

    一、安装前准备

    1、ElasticSearch是基于java的

    需要安装jdk环境,我这里由于是使用最新版的7.4.0,需要支持LTS,jdk9以上才支持,所以这里我使用openjdk,使用docker直接拉取:

    docker pull openjdk:9
    

    ps:也可以尝试使用openjdk11---docker pull openjdk:11

    2、vm.max_map_count内核设置需要至少设置为262144用于生产
    #查看vm.max_map_count命令
    grep vm.max_map_count /etc/sysctl.conf
    

    可在 /etc/sysctl.conf中加入

    vm.max_map_count=262144
    

    让设置实时生效:

    sysctl -w vm.max_map_count=262144
    
    3、虚拟机的运行内存:2G以上(因为是集群)

    二、安装

    /usr/local/docker/elasticsearch下创建docker-compose.yml内容如下

    version: '2.2'
    services:
      es01:
        image: docker.elastic.co/elasticsearch/elasticsearch:7.4.0
        container_name: es01
        environment:
          - node.name=es01
          - discovery.seed_hosts=es02
          - cluster.initial_master_nodes=es01,es02
          - cluster.name=docker-cluster
          - bootstrap.memory_lock=true
          - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
        ulimits:
          memlock:
            soft: -1
            hard: -1
        volumes:
          - esdata01:/usr/share/elasticsearch/data
        ports:
          - 9200:9200
        networks:
          - esnet
      es02:
        image: docker.elastic.co/elasticsearch/elasticsearch:7.4.0
        container_name: es02
        environment:
          - node.name=es02
          - discovery.seed_hosts=es01
          - cluster.initial_master_nodes=es01,es02
          - cluster.name=docker-cluster
          - bootstrap.memory_lock=true
          - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
        ulimits:
          memlock:
            soft: -1
            hard: -1
        volumes:
          - esdata02:/usr/share/elasticsearch/data
        networks:
          - esnet
    
    volumes:
      esdata01:
        driver: local
      esdata02:
        driver: local
    
    networks:
      esnet:
    

    执行docker-compose up
    检查集群状态:curl http://127.0.0.1:9200/_cat/health

    image.png

    相关文章

      网友评论

          本文标题:基于docker安装ElasticSearch集群

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