如何在 AlmaLinux 8 上安装 ElasticSearch

Elastic Stack 软件组件组的一个关键组件是 Elasticsearch。 Elasticsearch 使用 Java 开发,是一种开源、快速且可扩展的分布式搜索和分析引擎。它允许您以近乎实时的速度存储、索引、分析和搜索海量数据。 您可以使用 REST API 以 JSON 格式存储和检索数据。

随着时间的推移,Elasticsearch 已经成为日志分析、业务分析、安全智能以及全文搜索等领域的热门搜索引擎。

在其技术堆栈中利用 Elasticsearch 的知名蓝筹公司包括 Uber、Udemy、Shopify、 Netflix, Facebook 还有很多。

在本文中,我们将在 AlmaLinux 8 上安装 ElasticSearch。

第 1 步:安装 Java

ElasticSearch 基于 Java 构建。 因此,您需要在您的系统上安装 Java。 跑步:

$ sudo dnf install java-11-openjdk

使用命令确认java安装成功:

$ java —version

第 2 步:导入弹性搜索 GPG 密钥

接下来,我们需要为 Elasticsearch rpm 包导入 GPG 密钥。 执行命令:

$ sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

第 3 步:在 AlmaLinux 上安装 Elasticsearch

接下来,在 /etc/yum.repos.d/ 中创建一个名为 elasticsearch.repo 的文件。

$ sudo vim /etc/yum.repos.d/elasticsearch.repo

将以下行粘贴到文件中:

[elasticsearch]

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=0

autorefresh=1

type=rpm-md

之后,安装弹性搜索如下:

$ sudo dnf install --enablerepo=elasticsearch -y elasticsearch

Elasticsearch 服务默认是禁用的。 运行以下 systemctl 命令启动并启用弹性搜索服务:

$ sudo systemctl enable elasticsearch.service --now

使用以下命令检查服务的状态:

$ sudo systemctl status elasticsearch

第 4 步:配置 ElasticSearch

安装成功后,编辑 Elasticsearch 配置文件。 默认配置设置适用于单一操作服务器,因为 Elasticsearch 仅在本地主机上运行。 但是,如果要设置集群,则必须更改配置文件以允许远程连接。

在里面 example,我们指定了地址 0.0.0。 0. 这允许 Elasticsearch 监听所有接口。 如果您希望指定特定的 IP 地址,请在本节中进行。

$ sudo nano /etc/elasticsearch/elasticsearch.yml

要使更改生效,请运行以下命令:

$ sudo systemctl restart elasticsearch

测试 ElasticSearch 安装

要确认 Elasticsearch 在我们的系统上启动并运行,请运行以下命令 curl 命令。 Elasticsearch 默认监听 9200 端口。

$ curl -X GET "localhost:9200/"

使用弹性搜索执行的简单操作

首先,我们将数据添加到 ElasticSearch,你可以使用 curl 命令连同 POST 请求,如下所示:

$ curl -H 'Content-Type: application/json' -X POST 'https://localhost:9200/employee/task/1' -d '{ "name": "Update Jira" }'

您将获得以下输出:

接下来,让我们使用 GET 请求检索该数据。

$ curl -X GET 'https://localhost:9200/employee/task/1'

您可以按以下方式以人类可读的格式检索数据:

$ curl -X GET 'https://localhost:9200/employee/task/1?pretty'

您现在可以使用 ElasticSearch 来处理大量数据。