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

相关文章

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

RabbitMQ消息总线方式刷新配置服务全过程

《RabbitMQ消息总线方式刷新配置服务全过程》SpringCloudBus通过消息总线与MQ实现微服务配置统一刷新,结合GitWebhooks自动触发更新,避免手动重启,提升效率与可靠性,适用于配... 目录前言介绍环境准备代码示例测试验证总结前言介绍在微服务架构中,为了更方便的向微服务实例广播消息,

SpringBoot整合(ES)ElasticSearch7.8实践

《SpringBoot整合(ES)ElasticSearch7.8实践》本文详细介绍了SpringBoot整合ElasticSearch7.8的教程,涵盖依赖添加、客户端初始化、索引创建与获取、批量插... 目录SpringBoot整合ElasticSearch7.8添加依赖初始化创建SpringBoot项

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用