一、引言
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。# 以Ubuntu为例sudo apt updatesudo apt install openjdk-17-jdk
三、Elasticsearch集群安装
1. 下载与解压
访问Elasticsearch官方下载页面,选择8.9.0版本,下载对应的tar.gz包,并解压到指定目录。
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.9.0-linux-x86_64.tar.gztar -xzf elasticsearch-8.9.0-linux-x86_64.tar.gz -C /opt/cd /opt/elasticsearch-8.9.0
2. 配置节点
编辑config/elasticsearch.yml文件,配置集群名称、节点名称、网络绑定等关键参数。以下是一个基本配置示例:
# 集群名称,所有节点需相同cluster.name: my-es-cluster# 节点名称,每个节点唯一node.name: node-1# 绑定到所有网络接口,生产环境建议限制IPnetwork.host: 0.0.0.0# 启用HTTP端口,用于Kibana等客户端连接http.port: 9200# 节点间通信端口transport.port: 9300# 发现其他节点的种子主机列表discovery.seed_hosts: ["node1_ip", "node2_ip", "node3_ip"]# 初始主节点列表,确保至少包含所有可能的初始主节点cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
3. 安全设置
Elasticsearch 8.x默认启用了安全功能,包括TLS加密和基本认证。需生成证书并配置密码。
# 生成CA证书和节点证书(在每个节点上执行)bin/elasticsearch-certutil cert -name node-1 -out config/certs/node-1.p12 -pass ""# 配置密码(首次运行前执行一次)bin/elasticsearch-setup-passwords auto
编辑config/elasticsearch.yml,启用安全并指定证书路径:
xpack.security.enabled: truexpack.security.transport.ssl.enabled: truexpack.security.transport.ssl.verification_mode: certificatexpack.security.transport.ssl.keystore.path: certs/node-1.p12xpack.security.transport.ssl.truststore.path: certs/node-1.p12
4. 启动服务
# 启动Elasticsearch(后台运行)bin/elasticsearch -d# 检查状态curl -u elastic:your_password -XGET "https://localhost:9200/_cluster/health?pretty"
四、Kibana安装与配置
1. 下载与解压
访问Kibana官方下载页面,下载与Elasticsearch版本匹配的Kibana 8.9.0。
wget https://artifacts.elastic.co/downloads/kibana/kibana-8.9.0-linux-x86_64.tar.gztar -xzf kibana-8.9.0-linux-x86_64.tar.gz -C /opt/cd /opt/kibana-8.9.0
2. 配置Kibana
编辑config/kibana.yml,主要配置Elasticsearch连接信息:
# Kibana服务器监听的IP和端口server.host: "0.0.0.0"server.port: 5601# Elasticsearch连接信息elasticsearch.hosts: ["https://node1_ip:9200"]elasticsearch.username: "kibana_system"elasticsearch.password: "your_kibana_password"# 启用SSL(如果Elasticsearch启用了)elasticsearch.ssl.verificationMode: none
3. 启动Kibana
# 启动Kibana(后台运行)bin/kibana --allow-root &# 访问Kibana# 浏览器打开 http://your_server_ip:5601,使用elastic用户和设置的密码登录
五、验证集群状态
-
集群健康检查:通过Elasticsearch REST API检查集群状态。
curl -u elastic:your_password -XGET "https://localhost:9200/_cluster/health?pretty"
应返回
"status": "green"表示集群健康。 -
Kibana访问:登录Kibana界面,确认能正常访问Dashboard、Discover等功能。
六、常见问题与解决
- 证书问题:确保所有节点使用相同的CA签发的证书,且路径配置正确。
- 网络问题:检查防火墙设置,确保9200、9300、5601端口开放。
- 内存不足:调整JVM堆大小,在
config/jvm.options中设置-Xms和-Xmx为可用内存的一半左右。
七、结语
通过以上步骤,您应该能够一次性成功安装并配置Elasticsearch + Kibana 8.9.0集群。记住,生产环境的部署还需考虑数据备份、监控告警、性能调优等更多方面。希望本文能为您的Elasticsearch之旅提供坚实的起点。