Elasticsearch集群以及kibana安装

  1. 下载软件

    Elasticsearch 的官方地址:https://www.elastic.co/cn/

    下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch

    在这里插入图片描述

    可以根据情况自行选择不同操作系统的版本。

    在这里插入图片描述

  2. 安装软件

    2.1. 集群策划

    • 准备三台linux服务器,用于配置Elasticsearch 集群

      启动集群后,每台虚拟机的进程如下:

      主机名node1node2node3
      进程明Elasticsearch(es-node-1)Elasticsearch(es-node-2)Elasticsearch(es-node-3)
    • 将压缩包 elasticsearch-8.1.0-linux-x86_64.tar.gz 上传到虚拟机中

      在这里插入图片描述

      解压缩文件到自定义路径,笔者解压路径为:/data/software/es,解压后,软件路径为:

      /data/software/es/elasticsearch-8.1.0

      # 切换目录
      cd /data/software/es/
      
      # 解压缩
      tar -zxvf elasticsearch-8.1.0-linux-x86_64.tar.gz
      

      解压后的 Elasticsearch 的目录结构如下

      在这里插入图片描述

      目录含义
      bin可执行脚本目录
      config配置目录
      jdk内置JDK目录
      lib类库
      logs日志目录
      modules模块目录
      plugins插件目录

      注意:ES运行需要依赖java环境由于当前的ES版本再带jdk,所以节点中无需配置java环境

    • 由于ES为了防止高权限的linux用户修改系统文件禁止root账户启动ES,所以需要手动创建新用户es

      # 新增 es 用户
      useradd es
      # 为 es 用户设置密码
      passwd es
      
    • 创建数据文件目录,证书目录,并修改Elasticsearch 文件拥有者

      # 创建数据文件目录
      mkdir /data/software/es/elasticsearch-8.1.0/data
      # 创建证书目录
      mkdir /data/software/es/elasticsearch-8.1.0/config/certs
      #切换目录
      cd /data/software/es/elasticsearch-8.1.0
      # 修改文件拥有者
      chown -R es:es /data/software/es/elasticsearch-8.1.0
      
    • 在第一台服务器节点 es-node-1 设置集群多节点通信密钥

      # 切换用户
      su es
      	cd /data/software/es/elasticsearch-8.1.0
      # 签发 ca 证书,过程中需按两次回车键
      bin/elasticsearch-certutil ca
      # 用 ca 证书签发节点证书,过程中需按三次回车键
      bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
      # 将生成的证书文件移动到 config/certs 目录中
      mv elastic-stack-ca.p12 elastic-certificates.p12 config/certs
      
    • 在第一台服务器节点 es-node-1 设置集群多节点 HTTP 证书

      # 签发 Https 证书
      bin/elasticsearch-certutil http
      # 以下是每次要求输入时,需要输入的内容
      

      在这里插入图片描述

      指定证书路径 (这里的路径就是你创建的证书目录的路径

      在这里插入图片描述

      无需输入密码

      在这里插入图片描述

      设置证书失效时间,这里的y表示年

      在这里插入图片描述

      无需每个节点配置证书

      在这里插入图片描述

      输出连接到第一个节点的所有主机名称

      在这里插入图片描述

      输出连接到第一个节点的所有主机 IP 地址

      在这里插入图片描述

      不改变证书选项配置

      在这里插入图片描述

      不给证书加密,按键输入两次回车

      在这里插入图片描述

      解压刚刚生成的zip包

      # 解压文件
      unzip elasticsearch-ssl-http.zip
      #将解压后的证书文件移动到 config/certs 目录中
      mv elasticsearch/http.p12 kibana/elasticsearch-ca.pem config/certs
      
    • 修改主配置文件:config/elasticsearch.yml,由于配置文件里面全是注释,可以直接粘贴我下面的配置,需要注意的是文件的路径需要设置成你自己的文件路径,网络访问节点需要修改成你自己的主机名称

      # 设置 ES 集群名称
      cluster.name: es-cluster 
      # 设置集群中当前节点名称
      node.name: es-node-1
      # 设置数据,日志文件路径
      path.data: /data/software/es/elasticsearch-8.1.0/data
      path.logs: /data/software/es/elasticsearch-8.1.0/log
      # 设置网络访问节点
      network.host: linux1
      # 设置网络访问端口
      http.port: 9200
      # 初始节点
      discovery.seed_hosts: ["linux1"]
      # 安全认证
      xpack.security.enabled: true
      xpack.security.enrollment.enabled: true
      xpack.security.http.ssl:
       enabled: true
       keystore.path: /data/software/es/elasticsearch-8.1.0/config/certs/http.p12
       truststore.path: /data/software/es/elasticsearch-8.1.0/config/certs/http.p12
      xpack.security.transport.ssl:
       enabled: true
       verification_mode: certificate
       keystore.path: 
      /data/software/es/elasticsearch-8.1.0/config/certs/elastic-certificates.p12
       truststore.path: 
      /data/software/es/module/elasticsearch-8.1.0/config/certs/elastic-certificates.p12
      # 此处需注意,es-node-1 为上面配置的节点名称
      cluster.initial_master_nodes: ["es-node-1"]
      http.host: [_local_, _site_]
      ingest.geoip.downloader.enabled: false
      xpack.security.http.ssl.client_authentication: none
      
      
    • 启动ES软件

      # 启动 ES 软件
      bin/elasticsearch
      

      第一次启动成功后,会在命令行窗口显示用户名,密码,一定要找个地方存下来。注意:这个密码只有第一次的启动才会有

      在这里插入图片描述

      如果没有出现上图所示的内容,出现下图所示的内容也可以

      在这里插入图片描述

      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━✅ Elasticsearch security features have been automatically configured!
      ✅ Authentication is enabled and cluster connections are encrypted.
      
      ℹ️  Password for the elastic user (reset with `bin/elasticsearch-reset-password -u elastic`):
        e*onpaK75L8iUWGVTKSf
      
      kibana  /  Io+GM*EXL7u=CidAPkLO
      
      ❌ Unable to generate an enrollment token for Kibana instances, try invoking `bin/elasticsearch-create-enrollment-token -s kibana`.
      
      ❌ An enrollment token to enroll new nodes wasn't generated. To add nodes and enroll them into this cluster:
      • On this node:
        ⁃ Create an enrollment token with `bin/elasticsearch-create-enrollment-token -s node`.
        ⁃ Restart Elasticsearch.
      • On other nodes:
        ⁃ Start Elasticsearch with `bin/elasticsearch --enrollment-token <token>`, using the enrollment token that you generated.
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
      

      注意:9300 端口为 Elasticsearch 集群间组件的通信端口,9200 端口为浏览器访问的
      http 协议 RESTful 端口

    • 访问服务器节点 https://虚拟机地址:9200
      因为配置了安全协议,所以使用 https 协议进行访问,但由于证书是自己生成的,并不
      可靠,所以会有安全提示

      在这里插入图片描述

      选择继续即可

      在这里插入图片描述

      输入账号,密码登录即可,看到类似下图的json说明启动成功

      在这里插入图片描述

  3. 其他节点的安装配置

  • 在linux1节点,进入到es的安装目录,执行scp命令,将linux1节点的es分别分发给linux2和linux3节点

    # 进入到es安装目录
    cd /data/software
    #向linux2节点分发es,需要先在linux2节点创建 /data/software目录
    scp -r es root@linux2:/data/software #回车输入root账号密码
    #向linux3节点分发es,需要先在linux3节点创建 /data/software目录
    scp -r es root@linux2:/data/software
    
  • 到linux2节点,创建es用户,修改es的配置文件

    # 创建用户
    useradd es
    passwd es #这只密码,两次的密码要输入一致
    
    # 进入es的配置目录
    cd /data/software/es/elasticsearch-8.1.0/config/
    
    vim elasticsearch.yml
    
    # 设置节点名称
    node.name: es-node-2
    # 设置网络访问主机
    network.host: linux2
    #按esc退出编辑,输入:wq保存退出
    
  • 到linux3节点,创建es用户,修改es的配置文件

    # 创建用户
    useradd es
    passwd es #这只密码,两次的密码要输入一致
    
    # 进入es的配置目录
    cd /data/software/es/elasticsearch-8.1.0/config/
    
    vim elasticsearch.yml
    
    # 设置节点名称
    node.name: es-node-3
    # 设置网络访问主机
    network.host: linux3
    #按esc退出编辑,输入:wq保存退出
    
  • 依次启动集群的三台服务器节点,不要忘记切换用户后启动

    • linux1:

      # 切换用户
      su es
      
      # 后台启动服务
      bin/elasticsearch -d
      
    • linux2

      # 切换用户
      su es
      
      # 后台启动服务
      bin/elasticsearch -d
      
    • linux3

      # 切换用户
      su es
      
      # 后台启动服务
      bin/elasticsearch -d
      
  1. 问题解决

    • Elasticsearch 是使用 java 开发的,8.1 版本的 ES 需要 JDK17 及以上版本。默认安装包

    中带有 JDK 环境,如果系统配置 ES_JAVA_HOME 环境变量,那么会采用系统配置的

    **JDK。**如果没有配置该环境变量,ES 会使用自带捆绑的 JDK。虽然自带的 JDK 是 ES

    软件推荐的 Java 版本,但一般建议使用系统配置的 JDK

    • 启动成功后,如果访问 localhost:9200 地址后,弹出登录窗口

      在这里插入图片描述

      第一次启动时,因为开启了密码验证模式,在启动窗口中会显示输入账号和密码。如果
      没有注意到或没有找到账号密码,可以设置免密登录:

      # Enable security features
      xpack.security.enabled: false
      
    • 双击启动窗口闪退,通过路径访问追踪错误,如果是“空间不足”,请修改config/jvm.options 配置文件

      # 设置 JVM 初始内存为 1G。此值可以设置与-Xmx 相同,以避免每次垃圾回收完成后 JVM 重新分配
      内存
      # Xms represents the initial size of total heap space
      # 设置 JVM 最大可用内存为 1G
      # Xmx represents the maximum size of total heap space
      -Xms4g
      -Xmx4g
      
    • 启动后,如果密码忘记了,怎么办?可以采用指令重置密码

      # 使用 es 用户,执行指令,重置 elastic 用户密码
      bin/elasticsearch-reset-password -u elastic
      

      在这里插入图片描述

    • 如果Linux2,linux3这两个节点配置有问题但是正常启动了,在机群里看不到linux2,linux3节点,那么需要删除这两个节点的数据目录和日志目录并重新创建,再启动。

    • 可以在谷歌浏览器中安装Multi Elasticsearch Head插件查看es集群的启动情况

      在这里插入图片描述

  2. Kibana 安装 & 使用

Elasticsearch 的开源分析可视化工具,与存储在 Elasticsearch 中的数据进行交互

  • Elasticsearch 下载的版本是 8.1.0,这里我选择同样的 8.1.0 版本
    下载地址:https://www.elastic.co/cn/downloads/past-releases#kibana

    在这里插入图片描述

  • 安装软件

    • 将压缩包 kibana-8.1.0-linux-x86_64.tar.gz 上传到虚拟机中

      在这里插入图片描述

    • 解压缩文件到自定义路径,笔者解压路径为:/data/software/es/kibana,解压后,软件路径为:/data/software/es/kibana/kibana-8.1.0

    • 给 Kibana 生成证书文件

      # 在 ES 服务器中生成证书,输入回车即可
      cd /data/software/es/elasticsearch-8.1.0
      bin/elasticsearch-certutil csr -name kibana -dns linux1
      # 解压文件
      unzip csr-bundle.zip
      # 将解压后的文件移动到 kibana 的 config 目录中
      mv kibana.csr kibana.key /data/software/es/kibana/kibana-8.1.0/config/
      # 生成 crt 文件
      cd /data/software/es/kibana/kibana-8.1.0/config/
      openssl x509 -req -in kibana.csr -signkey kibana.key -out kibana.crt
      
    • 修改配置文件:kibana.yml

      # 服务端口
      server.port: 5601
      # 服务主机名
      server.host: "0.0.0.0" #这里设置成不受限制的连接
      # 国际化 - 中文
      i18n.locale: "zh-CN"
      # ES 服务主机地址
      elasticsearch.hosts: ["https://linux1:9200"]
      # 访问 ES 服务的账号密码
      elasticsearch.username: "kibana"
      elasticsearch.password: "fnqIYLQGv81iyW5nWeZ-" #注意这里的密码需要用到忘记密码的命令进行生成,用户名就是kibana
      elasticsearch.ssl.verificationMode: none
      elasticsearch.ssl.certificateAuthorities: 
      [ "/opt/module/elasticsearch-8.1.0/config/certs/elasticsearch-ca.pem" ]
      server.ssl.enabled: true
      server.ssl.certificate: /data/software/es/kibana/kibana-8.1.0/config/kibana.crt
      server.ssl.key: /data/software/es/kibana/kibana-8.1.0/config/kibana.key
      
    • 修改软件目录拥有者

      # 切换目录
      chown -R es:es /data/software/es/kibana/kibana-8.1.0/
      
    • 切换用户,启动软件

      # 切换用户
      su es
      # 启动软件
      bin/kibana
      # 也可以后台启动
      nohup /data/software/es/kibana/kibana-8.1.0/bin/kibana >kibana.log 2>&1 &
      

      在这里插入图片描述

  • 应用软件

    打开浏览器,输入访问地址:https://ip:5601

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    可以在开发者工具中测试,到此es集群和kibana就安装完成!

  • 28
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沂蒙山旁的水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值