# 使用ElasticSearch
Elasticsearch是一个开源的分布式、RESTful 风格的搜索和数据分析引擎
请在ElasticSearch官网下载8.1.2版本的ElasticSearch
官网下载地址:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-8-1-2
# 场景描述:
在 PAS-Micro 系统中,HTTP 请求跟踪(httptrace)数据默认存储在数据库中,用于支持访问量统计、接口调用记录查询等功能。在开发和小规模测试场景下,这种方式能够满足基本需求。
然而,随着系统运行时间增长,httptrace 数据会持续累积,传统关系型数据库在处理大规模日志类数据时容易出现 查询缓慢、统计延迟、存储压力大 等性能问题。因此,在生产环境中,通常需要引入更适合日志与检索场景的外部系统,例如 Elasticsearch。
引入 Elasticsearch 的主要目的包括:
- 高效存储海量 httptrace 访问数据,避免占用主业务数据库的资源;
- 利用强大的索引和搜索能力,实现毫秒级的访问记录查询;
- 支持聚合分析,用于访问量统计、接口趋势分析等场景;
- 良好的扩展能力,能够轻松应对大规模数据增长。
本文以 Elasticsearch 8.1.2 为示例版本进行说明;若当前环境中已部署可用的 ES 服务,则可直接跳过安装步骤。
# Linux安装
- 执行如下命令,将压缩包"elasticsearch-8.1.2-linux-x86_64.tar.gz"拷贝到Linux服务器的"/usr/local/elasticsearch"目录中。
mkdir -p /usr/local/elasticsearch
cd /usr/local/elasticsearch
tar -zxvf elasticsearch-8.1.2-linux-x86_64.tar.gz
- Elasticsearch可以执行脚本文件,为了安全性,默认不允许通过 root 用户启动服务。我们需要新创建用户名和用户组启动服务。
groupadd es_test
useradd es_test -g es_test
chown -R es_test:es_test /usr/local/elasticsearch/elasticsearch-8.1.2
su es_test
在"elasticsearch-8.1.2/bin"目录下,使用es_test用户,执行如下命令,启动服务。
打开浏览器,输入
https://[ip]:9200,ip为安装elasticsearch的服务器的实际IP地址, 即可看到elasticsearch服务返回的基本信息
# 配置方式
修改${pas.home}/config/application.yml配置文件中elasticsearch相关配置, 修改内容参考如下:
## 配置 elasticsearch 信息
spring:
elasticsearch:
uris: http://localhost:9200
username: elastic
password: elastic
pas:
admin:
elasticsearch:
repository:
enabled: true # 启用ES存储