docker-compose 部署es及kibana(配置密码、https)

2024-08-21 17:44

本文主要是介绍docker-compose 部署es及kibana(配置密码、https),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. es

  1. 目录结构

    1. 在/opt下创建es文件夹

    2. 在es文件夹下创建如下目录:data(映射数据)、logs(映射日志)、plugins(映射插件)、conf(映射配置文件及证书)

    3. 证书自己生成

  2. 在/opt/es/conf 目录下创建配置文件 elasticsearch.yml

#集群名称 所有节点名称一致 (集群/单机配置)
cluster.name: bin-es-clusters#当前该节点的名称,每个节点不能重复scan-es-node-1,scan-es-node-2,scan-es-node-3...
# (集群/单机配置)
node.name: bin-es-node-1#当前该节点是不是有资格竞选主节点 (集群配置,单机注释)
#node.master: true#当前该节点是否存储数据 (集群配置,单机注释)
#node.data: true#设置为公开访问 (集群/单机配置)
network.host: 0.0.0.0#设置其它节点和该节点交互的本机器的ip地址 (集群/单机配置)
network.publish_host: 192.168.xxx.xxx# 设置映射端口(集群/单机配置)
http.port: 9200# 内部节点之间沟通端口 (集群配置,单机注释)
#transport.tcp.port: 9300#支持跨域访问 (集群/单机配置)
http.cors.enabled: true
http.cors.allow-origin: "*"#安全控制 (集群/单机配置)
#开启es密码配置及https访问
xpack.security.enabled: true
#es从8.x开始,如果要开启es密码配置,下面配置也必须设置为true,此时还需要配置证书
xpack.security.transport.ssl.enabled: true
#开启https访问
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.key: /usr/share/elasticsearch/config/certs/server.key
xpack.security.http.ssl.certificate: /usr/share/elasticsearch/config/certs/server.crt
xpack.security.http.ssl.certificate_authorities: [ "/usr/share/elasticsearch/config/certs/server.crt" ]
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.key: /usr/share/elasticsearch/config/certs/server.key
xpack.security.transport.ssl.certificate: /usr/share/elasticsearch/config/certs/server.crt
xpack.security.transport.ssl.certificate_authorities: [ "/usr/share/elasticsearch/config/certs/server.crt" ]#若只需要配置密码,不需要https访问,则如下配置即可
#xpack.security.enabled: true
#xpack.security.transport.ssl.enabled: true
#xpack.security.transport.ssl.key: /usr/share/elasticsearch/config/certs/server.key  
#xpack.security.transport.ssl.certificate: /usr/share/elasticsearch/config/certs/server.crt#配置集群的主机地址 (集群配置,单机注释)
#discovery.seed_hosts: ["192.168.xxx.xxx"]
#初始主节点,使用一组初始的符合主条件的节点引导集群 (集群/单机配置)
cluster.initial_master_nodes: ["bin-es-node-1"]
#节点等待响应的时间,默认值是30秒,增加这个值,从一定程度上会减少误判导致脑裂 (集群配置,单机注释)
#discovery.zen.ping_timeout: 30s#配置集群最少主节点数目,通常为 (可成为主节点的主机数目 / 2) + 1 (集群配置,单机注释)
#discovery.zen.minimum_master_nodes: 1#禁用交换内存,提升效率 (集群/单机配置)
bootstrap.memory_lock: true# http传输内容的最大容量 (集群/单机配置)
http.max_content_length: 200mb
  1. 给/opt/es目录赋权限

    chmod -R 777 /opt/es
    
  2. 配置服务器硬件信息

    1. 修改/etc/security/limits.conf,添加如下,提高进程及资源使用限制上限

      * soft nofile 65536
      * hard nofile 65536
      * soft nproc 32000
      * hard nproc 32000
      * hard memlock unlimited
      * soft memlock unlimited
      
    2. 执行命令使其生效

      source /etc/profile
      
    3. 修改/etc/systemd/system.conf,添加如下

      DefaultLimitNOFILE=65536
      DefaultLimitNPROC=32000
      DefaultLimitMEMLOCK=infinity
      
    4. 重启服务器,或执行下面两个命令使其配置生效

      systemctl daemon-reload
      systemctl daemon-reexec
      
    5. 修改虚拟内存最大映射数
      系统虚拟内存默认最大映射数为65530,无法满足ES系统要求,需要调整为262144以上。

      vim /etc/sysctl.conf#添加参数
      vm.max_map_count = 262144
      
    6. 重新加载/etc/sysctl.conf配置

      sysctl -p
      
  3. docker-compose-es.yml

version: '3'
services:elasticsearch:image: docker.elastic.co/elasticsearch/elasticsearch:8.15.0container_name: elasticsearchrestart: alwaysenvironment:- "ES_JAVA_OPTS=-Xms16g -Xmx16g"ports:- "9200:9200"- "9300:9300"network_mode: hostvolumes:- "/opt/es/data:/usr/share/elasticsearch/data"- "/opt/es/logs:/usr/share/elasticsearch/logs"- "/opt/es/plugins:/usr/share/elasticsearch/plugins"- "/opt/es/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml"- "/opt/es/conf/certs:/usr/share/elasticsearch/config/certs"
  1. 修改elastic密码
docker exec -it elasticsearch /usr/share/elasticsearch/bin/elasticsearch-reset-password -i -u elastic
  1. 设置kibana_system内置用户的密码
docker exec -it elasticsearch /usr/share/elasticsearch/bin/elasticsearch-reset-password -i -u kibana_system
  1. 访问验证

    https://ip:9200

    会弹窗输入用户名密码。用户名是elastic,密码是自己设置的。

2. kibana

  1. 目录结构

    1. 在/opt下创建kibana文件夹
    2. 在kibana文件夹下创建如下目录:conf(映射配置文件及证书)
    3. 证书使用和es一样的证书
  2. 在/opt/kibana/conf 目录下创建配置文件 kibana.yml

server.port: 5601
# 国际化
i18n.locale: "zh-CN"# es连接地址,部署es时配了https就用https,没有配https就用http
elasticsearch.hosts: ["https://192.168.xxx.xxx:9200"]# 访问ES服务器的账号 密码
elasticsearch.username: "kibana_system"
# 密码就是上面生成的kibana_system的密码
elasticsearch.password: "xxxxxxxx"# 设置证书路径
elasticsearch.ssl.certificateAuthorities: ["/usr/share/kibana/config/certs/server.crt"]# 禁用证书验证,因为这是自签名证书
elasticsearch.ssl.verificationMode: none# 服务主机名
server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
monitoring.ui.container.elasticsearch.enabled: true
  1. docker-compose-kibana.yml
version: '3'
services:kibana:image: docker.elastic.co/kibana/kibana:8.15.0container_name: kibanarestart: alwaysports:- "5601:5601"network_mode: hostvolumes:- "/opt/kibana/conf/kibana.yml:/usr/share/kibana/config/kibana.yml"- "/opt/kibana/conf/certs:/usr/share/kibana/config/certs"
  1. 访问验证

    http://ip:5601

    需要输入用户名密码。用户名是elastic,密码是自己设置的。

这篇关于docker-compose 部署es及kibana(配置密码、https)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1093849

相关文章

Python从零打造高安全密码管理器

《Python从零打造高安全密码管理器》在数字化时代,每人平均需要管理近百个账号密码,本文将带大家深入剖析一个基于Python的高安全性密码管理器实现方案,感兴趣的小伙伴可以参考一下... 目录一、前言:为什么我们需要专属密码管理器二、系统架构设计2.1 安全加密体系2.2 密码强度策略三、核心功能实现详解

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

Docker镜像修改hosts及dockerfile修改hosts文件的实现方式

《Docker镜像修改hosts及dockerfile修改hosts文件的实现方式》:本文主要介绍Docker镜像修改hosts及dockerfile修改hosts文件的实现方式,具有很好的参考价... 目录docker镜像修改hosts及dockerfile修改hosts文件准备 dockerfile 文

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则