Elasticsearch + Kibana 8.9.0集群安装指南:一次成功部署实践

一、引言

Elasticsearch作为一款开源的分布式搜索和分析引擎,广泛应用于日志分析、全文检索、数据分析等领域。Kibana则是Elasticsearch的官方数据可视化和管理工具,为用户提供直观的界面来操作和展示数据。本文将详细介绍如何在Linux环境下一次性成功安装Elasticsearch + Kibana 8.9.0集群,确保每一步都清晰明了,减少试错成本。

二、环境准备

1. 系统要求

  • 操作系统:推荐使用CentOS 7/8或Ubuntu 20.04 LTS等现代Linux发行版。
  • 硬件配置:至少4GB RAM(生产环境建议16GB以上),2核CPU,足够的磁盘空间(根据数据量决定)。
  • 网络配置:确保各节点间网络互通,防火墙开放相关端口(默认9200, 9300, 5601)。

2. 软件依赖

  • Java:Elasticsearch 8.9.0需要Java 17或更高版本。可以通过java -version检查已安装版本,不足则通过包管理器安装OpenJDK。
    1. # 以Ubuntu为例
    2. sudo apt update
    3. sudo apt install openjdk-17-jdk

三、Elasticsearch集群安装

1. 下载与解压

访问Elasticsearch官方下载页面,选择8.9.0版本,下载对应的tar.gz包,并解压到指定目录。

  1. wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.9.0-linux-x86_64.tar.gz
  2. tar -xzf elasticsearch-8.9.0-linux-x86_64.tar.gz -C /opt/
  3. cd /opt/elasticsearch-8.9.0

2. 配置节点

编辑config/elasticsearch.yml文件,配置集群名称、节点名称、网络绑定等关键参数。以下是一个基本配置示例:

  1. # 集群名称,所有节点需相同
  2. cluster.name: my-es-cluster
  3. # 节点名称,每个节点唯一
  4. node.name: node-1
  5. # 绑定到所有网络接口,生产环境建议限制IP
  6. network.host: 0.0.0.0
  7. # 启用HTTP端口,用于Kibana等客户端连接
  8. http.port: 9200
  9. # 节点间通信端口
  10. transport.port: 9300
  11. # 发现其他节点的种子主机列表
  12. discovery.seed_hosts: ["node1_ip", "node2_ip", "node3_ip"]
  13. # 初始主节点列表,确保至少包含所有可能的初始主节点
  14. cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

3. 安全设置

Elasticsearch 8.x默认启用了安全功能,包括TLS加密和基本认证。需生成证书并配置密码。

  1. # 生成CA证书和节点证书(在每个节点上执行)
  2. bin/elasticsearch-certutil cert -name node-1 -out config/certs/node-1.p12 -pass ""
  3. # 配置密码(首次运行前执行一次)
  4. bin/elasticsearch-setup-passwords auto

编辑config/elasticsearch.yml,启用安全并指定证书路径:

  1. xpack.security.enabled: true
  2. xpack.security.transport.ssl.enabled: true
  3. xpack.security.transport.ssl.verification_mode: certificate
  4. xpack.security.transport.ssl.keystore.path: certs/node-1.p12
  5. xpack.security.transport.ssl.truststore.path: certs/node-1.p12

4. 启动服务

  1. # 启动Elasticsearch(后台运行)
  2. bin/elasticsearch -d
  3. # 检查状态
  4. curl -u elastic:your_password -XGET "https://localhost:9200/_cluster/health?pretty"

四、Kibana安装与配置

1. 下载与解压

访问Kibana官方下载页面,下载与Elasticsearch版本匹配的Kibana 8.9.0。

  1. wget https://artifacts.elastic.co/downloads/kibana/kibana-8.9.0-linux-x86_64.tar.gz
  2. tar -xzf kibana-8.9.0-linux-x86_64.tar.gz -C /opt/
  3. cd /opt/kibana-8.9.0

2. 配置Kibana

编辑config/kibana.yml,主要配置Elasticsearch连接信息:

  1. # Kibana服务器监听的IP和端口
  2. server.host: "0.0.0.0"
  3. server.port: 5601
  4. # Elasticsearch连接信息
  5. elasticsearch.hosts: ["https://node1_ip:9200"]
  6. elasticsearch.username: "kibana_system"
  7. elasticsearch.password: "your_kibana_password"
  8. # 启用SSL(如果Elasticsearch启用了)
  9. elasticsearch.ssl.verificationMode: none

3. 启动Kibana

  1. # 启动Kibana(后台运行)
  2. bin/kibana --allow-root &
  3. # 访问Kibana
  4. # 浏览器打开 http://your_server_ip:5601,使用elastic用户和设置的密码登录

五、验证集群状态

  1. 集群健康检查:通过Elasticsearch REST API检查集群状态。

    1. curl -u elastic:your_password -XGET "https://localhost:9200/_cluster/health?pretty"

    应返回"status": "green"表示集群健康。

  2. Kibana访问:登录Kibana界面,确认能正常访问Dashboard、Discover等功能。

六、常见问题与解决

  • 证书问题:确保所有节点使用相同的CA签发的证书,且路径配置正确。
  • 网络问题:检查防火墙设置,确保9200、9300、5601端口开放。
  • 内存不足:调整JVM堆大小,在config/jvm.options中设置-Xms-Xmx为可用内存的一半左右。

七、结语

通过以上步骤,您应该能够一次性成功安装并配置Elasticsearch + Kibana 8.9.0集群。记住,生产环境的部署还需考虑数据备份、监控告警、性能调优等更多方面。希望本文能为您的Elasticsearch之旅提供坚实的起点。