Elasticsearch 入门&配置
Elasticsearch 是什么?
Elasticsearch 是 Elastic Stack(什么是 Elastic Stack?) 的核心的分布式搜索和分析引擎。Logstash 和 Beats 便于收集、聚合和丰富您的数据并将其存储在 Elasticsearch 中。Kibana 让你能够交互式地探索、可视化和分享对数据的见解,管理和监控堆栈。
Elasticsearch 为所有类型的数据提供近乎实时的搜索和分析。无论你有结构化或非结构化的文本、数字数据或地理空间数据,Elasticsearch 都能以支持快速搜索的方式有效地存储和索引这些数据。你可以远远超越简单的数据检索和汇总信息,便于发现数据的趋势和模式。而且随着你的数据和查询量的增长,Elasticsearch 的分布式特性使你的部署能够与之无缝对接。
Elasticsearch 解决下面的问题:
- 在应用程序或网站上添加搜索框
- 存储和分析日志、度量和安全事件数据。
- 使用机器学习来实时自动模拟您的数据行为。
- 使用 Elasticsearch 作为存储引擎,实现业务工作流的自动化。
- 使用 Elasticsearch 作为地理信息系统(GIS)管理、整合和分析空间信息。
- 使用 Elasticsearch 作为生物信息学研究工具存储和处理基因数据。
- etc…
具体更多简介请看 官网介绍,这里不再叙述。
为什么使用 Elasticsearch ?
- 可以执行和组合各种数据类型的搜索,包括结构化、非结构化、地理和度量数据类型。
- 查询功能 可以以任何形式检索所需的数据。
- 可以在几秒钟内分析几十亿条记录。
- 它还提供了汇总功能,可以探索数据的趋势和模式。
安装 Elasticsearch
这里以 centos 8 为例
检查 java 版本
Elasticsearch 是一个 java 应用程序,所以第一步是检查本机是否安装 java
java -version
⚠️jdk 版本必须大于 1.8
如果没有装 openjdk,请看 How to Install Java on CentOS 8
下载 Elasticsearch
由于 Elasticsearch 在标准的 CentOS 8 资源库中是不可用的,我们将从 Elasticsearch RPM 仓库中安装它。
使用 rpm 命令导入仓库的 GPG:
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
打开文本编辑器,创建存储库文件/etc/yum. reposit.d 目录:
sudo nano /etc/yum.repos.d/elasticsearch.repo
将以下内容写入文件:
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
保存关闭,现在版本库已经启用,通过键入安装 Elasticsearch 包:
sudo yum install elasticsearch
安装完成后,启动服务:
sudo systemctl enable elasticsearch.service --now
如果要验证 Elasticsearch 是否在运行,可以使用 curl 向 localhost 的 9200 端口发送 HTTP 请求:
curl -X GET "localhost:9200/"
输出如下表示成功:
如果要查看 Elasticsearch 服务记录的消息,可以使用命令:
sudo journalctl -u elasticsearch
配置 Elasticsearch
Elasticsearch 数据存储在/var/lib/elasticsearch
目录下,配置文件位于/etc/elasticsearch
中。
默认情况下,Elasticsearch 被配置为只在 localhost 上监听。
如果连接数据库的客户端也在同一台主机上运行,并且你正在建立一个单节点集群,你不需要改变默认的配置文件。
远程访问
开箱即用的 Elasticsearch,并没有实现身份验证,所以任何人都可以访问它的 HTTP API。
如果你想允许远程访问你的 Elasticsearch 服务器,你需要配置你的防火墙,只允许受信任的客户访问 Elasticsearch 端口 9200。
vi /etc/elasticsearch/elasticsearch.yml
在配置文件中添加如下命令:
network.host: 0.0.0.0
- 默认情况下,Elasticsearch 只允许本机访问,如果需要远程访问,可以修改 Elasticsearch 安装目录中的 config/elasticsearch.yml 文件,去掉 network.host 的注释,将它的值改成 0.0.0.0,让任何人都可以访问,然后重新启动 Elasticsearch 。
我们来试试:
exit
curl -GET 你的服务器 ip :9200
这样,远程部署也就好了。
总结
Elasticsearch 就安装好啦,欢迎评论区讨论