加载中

安装 Elasticsearch

本节包含有关如何设置 Elasticsearch 并使其运行的信息,包括

要在 Docker 中快速设置 Elasticsearch 和 Kibana 进行本地开发或测试,请跳转至在本地安装 Elasticsearch(快速入门)

简化部署流程

自管集群对于本地开发和探索 Elasticsearch 功能非常有用。然而,Elastic 提供了几种部署选项,可以简化部署和管理多节点部署的过程,尤其是在生产环境中。它们还允许您从单一界面部署和管理多个部署。

由 Elastic 托管

自托管选项

有关这些部署选项的比较,请参阅选择您的部署类型详细部署比较

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

提示

要在您自己的机器上试用 Elastic Stack,我们建议使用 Docker 并同时运行 Elasticsearch 和 Kibana。有关更多信息,请参阅在本地安装 Elasticsearch(快速入门)。此设置不适合用于生产环境。

使用专用主机

在生产环境中,我们建议您在专用主机上或作为主要服务运行 Elasticsearch。Elasticsearch 的多项功能(例如自动 JVM 堆大小调整)都假定 Elasticsearch 是主机或容器中唯一的资源密集型应用程序。例如,您可以在 Elasticsearch 旁边运行 Metricbeat 以获取集群统计信息,但资源消耗大的 Logstash 部署应该放在其自己的主机上。

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

您还可以在 docker 容器镜像中运行 Elasticsearch。Docker 容器镜像可以从 Elastic Docker 镜像仓库下载。

您可以使用 Docker Compose 一次部署多个节点。

使用 Docker 安装 Elasticsearch

安装 Elastic Stack 时,您必须在整个堆栈中使用相同的版本。例如,如果您使用的是 Elasticsearch 9.4.4,则需要安装 Beats 9.4.4、APM Server 9.4.4、Elasticsearch Hadoop 9.4.4、Kibana 9.4.4 和 Logstash 9.4.4。

如果您要升级现有安装,请参阅升级您的部署、集群或编排器,了解有关如何确保与 9.4.4 版本兼容的信息。

如果您在自管理集群中部署 Elastic Stack,请按以下顺序安装您要使用的 Elastic Stack 产品:

按此顺序安装可确保每个产品所依赖的组件均已就绪。

提示

如果您正在部署生产环境,并计划为 Elasticsearch 使用受信任的 CA 签名证书,则应在部署 Fleet 和 Elastic Agent 之前执行此操作。如果配置了新的安全证书,则需要重新安装任何 Elastic Agent,因此我们建议您在部署 Fleet 和 Elastic Agent 时使用相应的证书。

此表显示了为了运行 Elasticsearch 集群而必须可访问的端口。为了使集群可用,Elasticsearch REST 和 Kibana 接口必须向外部用户开放。传输 API 必须在集群中的 Elasticsearch 节点之间以及使用传输 API 的任何外部客户端之间可访问。

默认情况下,Elasticsearch 将尝试监听指定范围内的第一个端口。如果该端口被占用,它将尝试下一个端口。

这些设置可以在相关配置文件中进行覆盖。

Port 访问类型 用途 设置
9200 及之后 HTTP (REST) Elasticsearch 的 REST API。这是用于从外部来源(包括 Kibana 和 Logstash)访问集群的主要接口。 Elasticsearch http.port
9300 及之后 TCP 传输 API。用于集群内通信以及通过传输 API(Java 客户端)进行客户端访问。 Elasticsearch transport.port
5601 HTTP Kibana 默认访问端口。 Kibana server.port

可选的 Elastic Stack 组件可能需要额外的端口。请参阅您要安装的组件的安装指南。

官方支持的操作系统和 JVM 矩阵可在 Elastic 支持矩阵中找到。Elasticsearch 已在列出的平台上进行了测试,但它也可能在其他平台上运行。

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,可以删除此目录。

警告

请勿使用附加到 JVM 的第三方 Java 代理。此类代理可能会损害 Elasticsearch 的稳定性和性能。在某些情况下,它们可能会导致节点冻结、崩溃或无法启动,或者导致数据丢失或损坏。

请参阅 Elastic Stack 第三方依赖 以获取完整依赖列表。

© . This website operates independently and is not affiliated with or endorsed by Elasticsearch B.V. All brand names, logos, and trademarks are the property of their respective owners.