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

相关文章

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

maven私服配置全过程

《maven私服配置全过程》:本文主要介绍maven私服配置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录使用Nexus作为 公司maven私服maven 私服setttings配置maven项目 pom配置测试效果总结使用Nexus作为 公司maven私

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、