zoukankan      html  css  js  c++  java
  • docker-compose安装elasticsearch集群

    文件目录:

    1、编写docker-compose文件

    version: '3'
    services:
         es-master:
           image:  elasticsearch:6.4.3
           container_name: es-master
           restart: always
           volumes:
             - ./master/data:/usr/share/elasticsearch/data:rw
             - ./master/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
             - ./master/logs:/user/share/elasticsearch/logs:rw
           ports:
             - "9200:9200"
             - "9300:9300"
    
         es-node1:
           image:  elasticsearch:6.4.3
           container_name: es-node1
           restart: always
           volumes:
             - ./node1/data:/usr/share/elasticsearch/data:rw
             - ./node1/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
             - ./node1/logs:/user/share/elasticsearch/logs:rw
         es-node2:
           image:  elasticsearch:6.4.3
           container_name: es-node2
           restart: always
           volumes:
             - ./node2/data:/usr/share/elasticsearch/data:rw
             - ./node2/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
             - ./node2/logs:/user/share/elasticsearch/logs:rw
         es-head:
           image: tobias74/elasticsearch-head:6
           container_name: es-head
           restart: always
           ports:
           - "9100:9100"

    es-master:master节点,确定分片位置,索引的新增、删除请求分配

    es-node1:分片的 CRUD,以及搜索和整合操作

    es-node2:分片的 CRUD,以及搜索和整合操作

    es-head:es的一个插件,目前官方版本只支持5.0。可以浏览和查看数据,可以类比于navcate相对于mysql的作用。

    2、编写yml配置文件

    (1) master配置文件

    bootstrap.memory_lock: false
    cluster.name: "es-cluster"
    node.name: es-master
    node.master: true
    node.data: false
    network.host: 0.0.0.0
    http.port: 9200
    transport.tcp.port: 9300
    discovery.zen.ping.unicast.hosts: *.*.*.*:9300, *.*.*.*:9301, *.*.*.*:9302
    discovery.zen.minimum_master_nodes: 1
    
    path.logs: /usr/share/elasticsearch/logs
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    xpack.security.audit.enabled: true            
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    上面的配置是为了使es-head能连接到es集群

    (2) node配置文件

    cluster.name: "es-cluster"
    node.name: node2
    node.master: false
    node.data: true
    network.host: 0.0.0.0
    http.port: 9202
    transport.tcp.port: 9302
    discovery.zen.ping.unicast.hosts: *.*.*.*:9300,  *.*.*.*:9301,  *.*.*.*:9302
    
    path.logs: /usr/share/elasticsearch/logs

     node1 的配置和node2的配置基本一致

    3、执行命令

    docker-compose up

    4、ES-HEAD访问

    实线部分为主分片,虚线部分为副本分片。  上图5个主分片和5个副本分片。 创建索引时候可以制定主分片和副本分片的个数, 默认情况下 5个主分片。1个副本分片(即每个主分片一个副本分片)

    5、相关问题整理

      (1)  目录无限问题

           

          相关目录上执行 chown 1000:1000 data

    (2) 启动失败问题

          

         对应机器上执行  sudo sysctl -w vm.max_map_count=262144

  • 相关阅读:
    apt局域网源搭建
    openstack 使用集锦
    nova-network创建初始化网络
    ubunt 基于deb 配置本地apt 源 分成仅本机使用,局域网使用2种
    使用HTML5监測站点性能
    写一个函数将传入的字符串转换成驼峰表示法
    简略的帧动画
    献给那些前端学习迷茫的人 -----前端开发必备的11项技能!!!
    排列组合(permutation)系列解题报告
    mysql 经常使用命令整理总结
  • 原文地址:https://www.cnblogs.com/mxmbk/p/9969008.html
Copyright © 2011-2022 走看看