在 Kibana 中运行 Elasticsearch

17 Mar 2025 | 4 分钟阅读

在本节中,我们将学习如何在不同的平台(如Windows、Linux、macOS 和云)上运行 Elasticsearch。与此同时,我们还将了解在 Kibana 中使用 curl 命令的用途。

运行 Elasticsearch

我们可以在 Elasticsearch Service 上构建托管部署,或者在自己的 Linux、macOS 或 Windows 计算机上设置一个多节点 Elasticsearch 集群,以便试用 Elasticsearch。

让我们在 Elastic Cloud 平台上运行 Elasticsearch

当我们构建 Elasticsearch 软件的部署时,它提供了一个带有 Kibana 和 APM 的三节点集群。

对于部署

  1. 注册免费试用版,并搜索电子邮件地址。
  2. 获取密码。
  3. 单击部署或开发图标。

构建部署后,一些文档已准备好进行索引。

当我们构建 Elasticsearch 项目的部署时,我们会自动提供一个主节点和两个数据节点。我们可以通过从 tar 或 zip 归档格式的源下载它来本地启动 Elasticsearch 的多个实例,以查看多节点集群的行为方式。

要在本地运行三节点 Elasticsearch 集群,请按照以下步骤操作

1. 在 Elasticsearch 上为操作系统(您正在使用)安装存储库

Linux:elasticsearch-7.8.0-linux-x86_64.tar.gz

Run Elasticsearch in Kibana

macOS:elasticsearch-7.8.0-darwin-x86_64.tar.gz

Run Elasticsearch in Kibana

2. 使用以下命令提取归档文件。

Linux

Run Elasticsearch in Kibana

macOS

Run Elasticsearch in Kibana

Windows PowerShell

Run Elasticsearch in Kibana

3. 从不同平台上的 bin 目录启动 Elasticsearch

在 Linux 和 macOS 平台

Run Elasticsearch in Kibana

在 Windows 平台

Run Elasticsearch in Kibana

现在,单节点 Elasticsearch 集群必须正常运行!

4. 启动另外两个 Elasticsearch 实例,以便我们可以看到典型的多节点集群是如何工作的。对于每个节点,我们需要定义特定的数据和日志路径。

5. Linux 和 macOS

Run Elasticsearch in Kibana

Windows

Run Elasticsearch in Kibana

类似的 id 分配给其他节点。由于所有三个节点都在本地运行,它们同时连接到集群的第一个节点。

6. 使用 cat 安全 API 检查三个节点的集群是否已启动并运行。cat API 以比原始 JSON 更易于阅读的格式返回有关集群和索引的信息。

通过向 Elasticsearch REST API 发送 HTTP 请求,我们可以直接与我们的集群通信。安装并运行 Kibana 后,我们可以通过 Dev Console 发送请求。

当我们准备好在自己的应用程序中使用 Elasticsearch 时,我们将要查看 Elasticsearch 语言客户端。

Run Elasticsearch in Kibana

答案应该说明 Elasticsearch 集群的状态为绿色并且有三个节点

Run Elasticsearch in Kibana

当我们仅运行 Elasticsearch 的单个实例时,集群状态将保持为黄色。单节点集群功能齐全,但为了冗余,数据无法复制到另一个节点。集群状态副本分片必须可访问才能变为白色。如果集群状态为红色,则任何数据都将不可用。

使用 curl 命令与 Elasticsearch 对话

本指南中的许多示例都允许复制正确的 cURL 命令,并从命令行将请求提交到我们的本地 Elasticsearch 实例。

Run Elasticsearch in Kibana

在上面的示例中,我们使用了以下变量

<动词>

HTTP 中正确的形式或动词,GET、POST、Place、HEAD 或 DELETE。

<协议>

<协议> 使用 Elasticsearch 的安全功能来加密 HTTP 联系人。

<主机>

在我们的 Elasticsearch 集群中,<主机> 是任何节点的主机名。或者,我们也可以使用 localhost。

<路径>

<路径> 是 API 的端点。在 Elasticsearch 中,它可以包含几个组件,例如集群/统计信息或节点/统计信息/JVM。

<端口>

<端口> 是 Elasticsearch 的 HTTP 服务正在运行的实例。默认端口是 9200。

<查询_字符串>

这些参数是可选的查询字符串。对于初学者来说,?JSON 答案将进行漂亮打印,使其更易于阅读。

<正文>

以 JSON 编码的请求正文(在必要时)。

如果 Elasticsearch 的安全功能允许我们,那么我们需要具有有权运行 API 的有效用户名-密码凭据。例如,我们可以使用命令参数 -u 或 -u cURL。

Elasticsearch 响应任何 API 请求,并返回 HTTP 状态代码,例如 200 OK。它还返回一个以 JSON 编码的答案正文,但 HEAD 请求除外。

其他一些配置选项

我们也可以从归档文件中安装 Elasticsearch,这允许我们快速安装和运行多个实例,借助它,我们能够尝试不同的东西。

此外,我们可以在 Docker 容器中运行 Elasticsearch。另一方面,我们也可以使用 Linux 上的 DEB 或 RPM 包安装 Elasticsearch。我们可以在 macOS 上安装 Homebrew 或在 Windows 上安装 MSI 软件安装程序,以在我们的系统中作为单个实例运行。


下一个主题Kibana Elk Stack