安装 Elasticsearch

编辑

托管 Elasticsearch 服务

编辑

Elastic Cloud 提供了 Elasticsearch、Kibana 以及 Elastic 的可观察性、企业搜索和 Elastic Security 解决方案的所有功能,作为托管服务,可在 AWS、GCP 和 Azure 上使用。

要在 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 中遇到安全问题或其他错误,Elastic 可能无法提供帮助,除非该问题也存在于捆绑的 JVM 中。相反,您必须直接向选择的 JVM 供应商寻求帮助。您还必须负责对所选 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 的性能,包括冻结或崩溃节点。