在日志分析、全文检索等场景中,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数据。


四、关键注意事项
- 版本一致性:Kibana版本必须与ES版本完全一致,否则可能出现兼容性问题。
- 非root启动:ES和Kibana均不建议使用root用户启动,需创建专用用户并正确授权,保障安全性。
- 配置检查:修改ES和Kibana配置文件后,需仔细核对IP、端口等信息,避免因配置错误导致无法通信。
- 资源分配:根据服务器硬件配置调整JVM堆内存、系统文件描述符限制等参数,避免资源不足影响服务稳定性。
按照以上步骤,即可在Linux系统中完成ES 8.13.2与Kibana 8.13.2的安装配置,为后续的日志分析、数据检索等工作搭建好基础环境。

2326

被折叠的 条评论
为什么被折叠?



