Linux环境下Elasticsearch与Kibana安装配置全指南

在日志分析、全文检索等场景中,Elasticsearch(简称ES)作为高性能分布式搜索引擎,搭配Kibana的可视化管理能力,能大幅提升数据处理效率。本文将以ES 8.13.2和Kibana 8.13.2版本为例,详细讲解在Linux系统中的完整安装配置流程,尤其要说明:从ES 7.x版本开始,其内置Java环境,无需单独安装JDK,极大简化了前期准备工作。若需确认ES支持的操作系统,可参考官方文档:Elastic Support Matrix

一、Elasticsearch 8.13.2安装与配置

1.1 下载并解压ES安装包

首先创建专用目录存放ES相关文件,再通过官方链接下载安装包并解压,具体命令如下:

# 进入数据存储根目录(可根据实际需求修改路径)
cd /data
# 创建ELK专用目录(ELK为Elasticsearch、Logstash、Kibana缩写,此处用于统一管理)
mkdir elk
cd elk
# 下载ES 8.13.2 Linux版本压缩包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.13.2-linux-x86_64.tar.gz
# 解压压缩包
tar -zxvf elasticsearch-8.13.2-linux-x86_64.tar.gz

1.2 理解ES核心目录结构

解压完成后,进入ES根目录,熟悉各核心文件夹的功能,便于后续配置调整:

# 进入ES 8.13.2根目录
cd /data/elk/elasticsearch-8.13.2

各关键目录及作用如下:

  • bin目录:存放ES可执行文件,如elasticsearch(ES启动文件)、elasticsearch-plugin(插件安装命令)、elasticsearch-reset-password(密码重置命令)。
  • config目录:核心配置文件所在地,包括elasticsearch.yml(ES主配置文件)、jvm.options(JVM参数配置文件)、roles.yml(角色权限配置)、users(用户信息配置)。
  • logs目录:存储ES运行日志,便于排查启动及运行过程中的问题。
  • data目录:ES数据存储目录,索引数据等核心数据会保存在此处。
  • plugins目录:用于存放ES插件,如分词插件、安全插件等。
    在这里插入图片描述

1.3 修改ES配置文件

1.3.1 主配置文件(elasticsearch.yml)

通过修改主配置文件,设置ES绑定IP、关闭不必要的安全加密(测试环境适用,生产环境需根据需求调整),命令及配置如下:

# 编辑ES主配置文件
vim /data/elk/elasticsearch-8.13.2/config/elasticsearch.yml

在文件中添加或修改以下关键配置:

# 设置ES绑定的IP(填写Linux服务器实际IP,如192.168.184.152)
network.host: 192.168.184.152
# 关闭X-Pack安全加密(测试环境简化配置,生产环境建议开启)
xpack.security.enabled: false
# 关闭HTTP层SSL加密
xpack.security.http.ssl:
  enabled: false
# 关闭节点间通信SSL加密
xpack.security.transport.ssl:
  enabled: false

此外,主配置文件中还有几个重要参数可根据需求调整:

  • cluster.name:ES集群名称,同一集群内所有节点需保持一致。
  • node.name:节点名称,同一集群内节点名称不可重复。
  • path.data:自定义数据存储目录,默认在ES根目录的data文件夹。
  • path.logs:自定义日志存储目录,默认在ES根目录的logs文件夹。
  • http.port:ES HTTP服务端口,默认9200,若需修改可在此处配置。
1.3.2 JVM参数配置(jvm.options)

根据Linux服务器内存情况,调整JVM堆内存大小,避免内存不足或浪费:

# 编辑JVM配置文件
vim /data/elk/elasticsearch-8.13.2/config/jvm.options

修改堆内存参数(示例为1G,若服务器内存为2G,可设置为500m):

# 初始堆内存大小,建议与最大堆内存一致,避免频繁扩容
-Xms1g
# 最大堆内存大小,一般不超过服务器物理内存的50%,且不超过32G
-Xmx1g

二、修改系统参数并启动ES

2.1 调整Linux系统参数

ES运行时需要创建大量索引文件,需提高系统允许的文件描述符数量及进程数限制:

# 编辑系统限制配置文件
vim /etc/security/limits.conf

在文件末尾添加以下内容:

# 所有用户的最大进程数限制
*         soft    nproc     65535 
# 所有用户的软限制文件描述符数量
*         soft    nofile    65535
# 所有用户的硬限制文件描述符数量
*         hard    nofile    65535
  • soft:超过限制时仅给出警告,不强制阻止操作。
  • hard:超过限制时直接阻止操作,强制生效。
  • nproc:限制用户可创建的最大进程数。
  • nofile:限制用户可打开的最大文件描述符数量。

修改后,若需当前会话立即生效,执行以下命令:

# 临时设置最大进程数为65535
ulimit -u 65535
# 临时设置最大文件描述符数量为65535
ulimit -n 65535

(注:永久生效需重启服务器)

2.2 启动ES(非root用户)

ES出于安全考虑,禁止使用root用户启动,需创建专用用户并授权:

# 创建elasticsearch用户(若已存在可跳过)
adduser elasticsearch
# 进入ES根目录
cd /data/elk/elasticsearch-8.13.2
# 授权elasticsearch用户为ES目录及文件的所有者
chown -R elasticsearch.elasticsearch .
# 以elasticsearch用户身份,后台启动ES
nohup sudo -u elasticsearch /data/elk/elasticsearch-8.13.2/bin/elasticsearch &

2.3 验证ES启动状态

通过查看9200端口(ES默认HTTP端口)是否被占用,验证启动是否成功:

# 查看9200端口占用情况
netstat -anlp | grep 9200

若能看到ES进程占用9200端口,说明启动成功。此时可通过浏览器访问ES:在地址栏输入http://[Linux服务器IP]:9200(如http://192.168.184.152:9200),页面会显示ES版本、集群名称等信息。

此外,查看ES集群健康状态的方法:访问http://[Linux服务器IP]:9200/_cat/health,可获取集群是否正常运行的状态信息。
在这里插入图片描述

注意:如果ElasticSearch启动失败,出现exit code 78报错,可以参考:【Bug】 Elasticsearch启动失败(exit code 78):2个bootstrap检查问题排查与解决

三、Kibana 8.13.2安装与启动

Kibana是ES的可视化管理工具,可用于操作ES数据、生成数据报表等,需与ES版本保持一致(此处为8.13.2)。

3.1 下载并解压Kibana安装包

# 进入ELK目录(与ES同一目录,便于管理)
cd /data/elk
# 下载Kibana 8.13.2 Linux版本压缩包
wget https://artifacts.elastic.co/downloads/kibana/kibana-8.13.2-linux-x86_64.tar.gz
# 解压压缩包
tar zxvf kibana-8.13.2-linux-x86_64.tar.gz

3.2 修改Kibana配置文件

Kibana需配置绑定IP及关联的ES地址,确保能与ES正常通信:

# 编辑Kibana主配置文件
vim /data/elk/kibana-8.13.2/config/kibana.yml

在文件中添加以下关键配置:

# 设置Kibana绑定的IP(填写Linux服务器实际IP)
server.host: "192.168.184.152"
# 设置关联的ES地址(与ES的network.host和http.port对应)
elasticsearch.hosts: ['http://192.168.184.152:9200']

3.3 启动Kibana(非root用户)

与ES类似,Kibana也建议使用专用用户启动,避免root权限风险:

# 创建kibana用户(若已存在可跳过)
useradd kibana
# 进入Kibana根目录
cd /data/elk/kibana-8.13.2
# 授权kibana用户为Kibana目录及文件的所有者
chown -R kibana.kibana /data/elk/kibana-8.13.2
# 以kibana用户身份,后台启动Kibana
nohup sudo -u kibana /data/elk/kibana-8.13.2/bin/kibana &

3.4 验证Kibana启动状态

Kibana默认HTTP端口为5601,通过查看该端口占用情况验证启动:

# 查看5601端口占用情况
netstat -anlp | grep 5601

启动成功后,通过浏览器访问Kibana:输入http://[Linux服务器IP]:5601(如http://192.168.184.152:5601),进入Kibana可视化管理界面,即可开始操作ES数据。

在这里插入图片描述

在这里插入图片描述

四、关键注意事项

  1. 版本一致性:Kibana版本必须与ES版本完全一致,否则可能出现兼容性问题。
  2. 非root启动:ES和Kibana均不建议使用root用户启动,需创建专用用户并正确授权,保障安全性。
  3. 配置检查:修改ES和Kibana配置文件后,需仔细核对IP、端口等信息,避免因配置错误导致无法通信。
  4. 资源分配:根据服务器硬件配置调整JVM堆内存、系统文件描述符限制等参数,避免资源不足影响服务稳定性。

按照以上步骤,即可在Linux系统中完成ES 8.13.2与Kibana 8.13.2的安装配置,为后续的日志分析、数据检索等工作搭建好基础环境。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值