安装 Elasticsearch

编辑

托管的 Elasticsearch 服务

编辑

Elastic Cloud 作为一项托管服务,在 AWS、GCP 和 Azure 上提供 Elasticsearch、Kibana 以及 Elastic 的可观测性、企业搜索和 Elastic 安全解决方案的所有功能。

要在 Elastic Cloud 中设置 Elasticsearch,请注册 免费 Elastic Cloud 试用版

自管理的 Elasticsearch 选项

编辑

如果您想自行安装和管理 Elasticsearch,您可以

要在您自己的机器上试用 Elasticsearch,我们建议使用 Docker 并同时运行 Elasticsearch 和 Kibana。有关更多信息,请参阅在本地运行 Elasticsearch。请注意,此设置不适用于生产环境

Elasticsearch 安装包

编辑

Elasticsearch 提供以下软件包格式

Linux 和 MacOS tar.gz 存档

tar.gz 存档可用于在任何 Linux 发行版和 MacOS 上安装。

从 Linux 或 MacOS 上的存档安装 Elasticsearch

Windows .zip 存档

zip 存档适用于在 Windows 上安装。

在 Windows 上使用 .zip 安装 Elasticsearch

deb

deb 包适用于 Debian、Ubuntu 和其他基于 Debian 的系统。Debian 包可以从 Elasticsearch 网站或我们的 Debian 存储库下载。

使用 Debian 包安装 Elasticsearch

rpm

rpm 包适用于在 Red Hat、Centos、SLES、OpenSuSE 和其他基于 RPM 的系统上安装。RPM 可以从 Elasticsearch 网站或我们的 RPM 存储库下载。

使用 RPM 安装 Elasticsearch

有关在您自己的场所设置 Elastic Stack 的分步示例,请尝试我们的教程:安装自管理的 Elastic Stack

Elasticsearch 容器镜像

编辑

您也可以在容器镜像内运行 Elasticsearch。

docker

Docker 容器镜像可以从 Elastic Docker Registry 下载。

使用 Docker 安装 Elasticsearch

Java (JVM) 版本

编辑

Elasticsearch 使用 Java 构建,并在每个发行版中包含捆绑版本的 OpenJDK。 我们强烈建议在所有 Elasticsearch 安装中使用捆绑的 JVM。

捆绑的 JVM 在支持和维护方面与 Elasticsearch 的任何其他依赖项相同。这意味着 Elastic 负责使其保持最新,并根据需要对安全问题和错误报告做出响应,以解决 Elasticsearch 中的漏洞和其他错误。Elastic 对捆绑 JVM 的支持受 Elastic 的 支持策略生命周期结束计划的约束,并且独立于 JVM 原始供应商提供的支持策略和生命周期结束计划。Elastic 不支持将捆绑的 JVM 用于运行 Elasticsearch 以外的目的。

Elasticsearch 仅使用 JVM 提供的一小部分功能。捆绑 JVM 中的错误和安全问题通常与 Elasticsearch 不使用的功能有关。此类问题不适用于 Elasticsearch。Elastic 会分析其所有依赖项(包括捆绑的 JVM)中的安全漏洞报告,如果需要,将发布Elastic 安全公告

如果您决定使用与捆绑版本不同的 Java 版本运行 Elasticsearch,请优先使用Java LTS 版本的最新版本,该版本已列在支持矩阵中。尽管支持这种配置,但如果您在选择的 JVM 中遇到安全问题或其他错误,除非该问题也出现在捆绑的 JVM 中,否则 Elastic 可能无法提供帮助。相反,您必须直接向所选 JVM 的供应商寻求帮助。您还必须负责对所选 JVM 供应商的安全和错误公告做出响应。如果使用捆绑版本以外的 JVM,Elasticsearch 的性能可能不是最佳的。Elasticsearch 与某些 OpenJDK 特定功能紧密耦合,因此它可能无法与非 OpenJDK 的 JVM 正确配合使用。如果您尝试使用已知错误的 JVM 版本,Elasticsearch 将拒绝启动。

要使用您自己的 Java 版本,请将 ES_JAVA_HOME 环境变量设置为您自己的 JVM 安装路径。捆绑的 JVM 位于 Elasticsearch 主目录的 jdk 子目录中。如果您使用自己的 JVM,可以删除此目录。

JDK 语言环境数据库

编辑

Elasticsearch 使用的语言环境数据库,用于将各种日期格式映射到底层日期存储格式,取决于 Elasticsearch 运行的 JDK 版本。在 JDK 23 及以上版本中,Elasticsearch 将使用 CLDR 数据库。在 JDK 22 及以下版本中,Elasticsearch 将使用 COMPAT 数据库。这可能意味着,当从之前的 JDK 版本移动到 JDK 23 或更高版本时,用于文本日期格式的字符串以及自定义周日期格式的输出可能会发生变化。有关更多信息,请参阅 自定义日期格式

JVM 和 Java 代理

编辑

不要使用附加到 JVM 的第三方 Java 代理。 这些代理可能会降低 Elasticsearch 的性能,包括冻结或崩溃节点。