欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > docker-compose 部署es及kibana(配置密码、https)

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

2024/11/14 20:54:58 来源:https://blog.csdn.net/u013071014/article/details/141394455  浏览:    关键词: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,密码是自己设置的。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com