zoukankan      html  css  js  c++  java
  • elasticsearch6.8版本docker部署配置xpack认证

    1、docker-compose.yml

    这里的volume挂载中config的挂载挂载方式:

    先#注释掉config的挂载,然后启动es,将config整个目录copy到宿主机的config目录中,修改文件权限。然后去掉注释,重新启动就可以成功挂载

    version: '3'
    services:
      elasticsearch6_n0:
        image: elasticsearch:6.8.10
        container_name: elasticsearch6_n0
        privileged: true
        environment:
          - cluster.name=elasticsearch6-cluster
          - node.name=node0
          - node.master=true
          - node.data=true
          - bootstrap.memory_lock=true
          - http.cors.enabled=true
          - http.cors.allow-origin=*
          - "ES_JAVA_OPTS=-Xms6g -Xmx6g"
          - "discovery.zen.ping.unicast.hosts=elasticsearch6_n0,elasticsearch6_n1,elasticsearch6_n2"
          - "discovery.zen.minimum_master_nodes=2"
        ulimits:
          memlock:
            soft: -1
            hard: -1
        volumes:
          - ./data/node0:/usr/share/elasticsearch/data
          - ./logs/node0:/usr/share/elasticsearch/logs
          - ./config:/usr/share/elasticsearch/config
        ports:
          - 9200:9200
        networks:
          - esnet
      elasticsearch6_n1:
        image: elasticsearch:6.8.10
        container_name: elasticsearch6_n1
        privileged: true
        environment:
          - cluster.name=elasticsearch6-cluster
          - node.name=node1
          - node.master=true
          - node.data=true
          - bootstrap.memory_lock=true
          - http.cors.enabled=true
          - http.cors.allow-origin=*
          - "ES_JAVA_OPTS=-Xms6g -Xmx6g"
          - "discovery.zen.ping.unicast.hosts=elasticsearch6_n0,elasticsearch6_n1,elasticsearch6_n2"
          - "discovery.zen.minimum_master_nodes=2"
        ulimits:
          memlock:
            soft: -1
            hard: -1
        volumes:
          - ./data/node1:/usr/share/elasticsearch/data
          - ./logs/node1:/usr/share/elasticsearch/logs
          - ./config:/usr/share/elasticsearch/config
        ports:
          - 9201:9200
        networks:
          - esnet
      elasticsearch6_n2:
        image: elasticsearch:6.8.10
        container_name: elasticsearch6_n2
        privileged: true
        environment:
          - cluster.name=elasticsearch6-cluster
          - node.name=node1
          - node.master=true
          - node.data=true
          - bootstrap.memory_lock=true
          - http.cors.enabled=true
          - http.cors.allow-origin=*
          - "ES_JAVA_OPTS=-Xms6g -Xmx6g"
          - "discovery.zen.ping.unicast.hosts=elasticsearch6_n0,elasticsearch6_n1,elasticsearch6_n2"
          - "discovery.zen.minimum_master_nodes=2"
        ulimits:
          memlock:
            soft: -1
            hard: -1
        volumes:
          - ./data/node2:/usr/share/elasticsearch/data
          - ./logs/node2:/usr/share/elasticsearch/logs
          - ./config:/usr/share/elasticsearch/config
        ports:
          - 9202:9200
        networks:
          - esnet
      kibana:
        image: kibana:6.8.10
        container_name: kibana6
        environment:
          - ELASTICSEARCH_HOSTS=http://elasticsearch6_n0:9200
        volumes:
          - ./kibana/config:/usr/share/kibana/config
        ports:
          - 5602:5601
        networks:
          - esnet
    
    networks:
      esnet:
        driver: bridge

    2、elasticsearch.yml

    cluster.name: "docker-cluster"
    network.host: 0.0.0.0
    
    xpack.security.transport.ssl.keystore.type: PKCS12
    xpack.security.transport.ssl.verification_mode: certificate
    xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
    xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
    xpack.security.transport.ssl.truststore.type: PKCS12
    
    xpack.security.audit.enabled: true
    xpack.security.enabled: true
    xpack.security.transport.ssl.enabled: true

    3、kibana.yml

    #
    # ** THIS IS AN AUTO-GENERATED FILE **
    #
    
    # Default Kibana configuration for docker target
    server.name: kibana
    server.host: "0"
    elasticsearch.hosts: [ "http://elasticsearch:9200" ]
    xpack.monitoring.ui.container.elasticsearch.enabled: true
    elasticsearch.username: "kibana"
    elasticsearch.password: "xxxxxxxx"  #输入你自己的密码

    4、生成ca证书

    docker-compose启动docker

    docker exec进入其中一个节点容器之后

    执行./bin/elasticsearch-certutil ca命令生成ca证书: elastic-stack-ca.p12

    执行./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12生成cert: elastic-certificates.p12

    通过docker cp将elastic-certificates.p12拷贝到容器外挂载的config目录,用于认证

    5、重启es集群然后设置密码

    docker-compose重启docker

    ./bin/elasticsearch-setup-passwords interactive命令进行密码设置

    至此完成设置,此时打开kibana,可看到需要输入用户名密码,建议用elastic用户登录

  • 相关阅读:
    OVER子句
    处理字符数据排序规则(Collation)
    时间管理小强升职记读书笔记
    SQLServer2005查找定位性能瓶颈和性能调优
    zz数据库查询性能优化
    SqlBulkCopy实现数据批量复制(ZZ)
    SQLServer2005大数据量没有返回值不能应用索引的问题
    工作DNA读书笔记
    zz很有用的生活小窍门
    Excel单引号作用与清除方法总结
  • 原文地址:https://www.cnblogs.com/to-here/p/15065783.html
Copyright © 2011-2022 走看看