安装 Elasticsearch

ℹ️ 在本节中,你将了解运行 Elasticsearch 的一些选项。本站的大多数教程和内容都要求你首先按照下面针对所选安装方式提供的说明进行操作。

更多阅读:如何在 Linux,MacOS 及 Windows 上进行安装 Elasticsearch

如何运行 Elasticsearch

在本节中,我们将介绍 Elasticsearch 的便捷安装选项:

  • Elastic Cloud - Elastic Cloud 提供托管的 Elasticsearch 和 Kibana 服务,可在 AWS、GCP 和 Azure 上使用。它提供 14 天免费试用。

  • Docker - 适合本地开发和测试。

  • Serverless - 提供完全托管的体验,将底层基础设施抽象出来。

  • Start-local - 用于快速开始并在本地运行 Elasticsearch。

请注意,这些并不是部署 Elasticsearch 的唯一方式。你可以在Elasticsearch 安装指南中找到其他部署选项的介绍,例如使用 .zip 安装 Elasticsearch。

Elastic Cloud

ℹ️ Elastic Cloud 是开发和生产环境都推荐的选项。你可以在 https://cloud.elastic.co 注册 14 天免费试用。

注册 Elastic Cloud 免费试用

如果你刚刚注册了 Elastic Cloud 试用账户,作为注册流程的一部分,系统会要求你创建一个 Serverless 项目或部署。

如果你需要在付费账户中创建一个新的完全托管项目,请按照以下说明操作:

  1. 进入你的 Elastic Cloud 主页。

  2. 点击 创建项目(Create proje)。

  3. 选择项目类型:Elasticsearch

  4. 为你的完全托管 Elasticsearch 项目输入名称。

  5. 选择项目配置。

  6. 选择你偏好的云服务提供商和区域。

  7. 点击 创建项目

如果你需要在付费账户中创建一个新的部署,请按照以下说明操作:

  1. 进入你的 Elastic Cloud 主页。

  2. 点击 创建部署

  3. 为你的新部署输入名称。

  4. 选择你偏好的云服务提供商和区域。

  5. 选择所需的硬件配置和版本;如果不确定,可以使用系统推荐的默认设置。

  6. 点击 创建部署

要了解如何查找你的 Cloud ID 并创建 API 密钥,请查看本教程

Dokcer

💡 在本地开发和测试 Elasticsearch 时,最方便的选项是使用官方 Docker 镜像。首先,请确保你的系统中已经安装 Docker。

安装 Docker

在单节点模式下运行

对于本教程而言,单节点 Elasticsearch 部署已经足够。下面的命令会在 Docker 容器中启动该服务:

复制代码
docker run -p 127.0.0.1:9200:9200 -d --name elasticsearch \
  -e "discovery.type=single-node" \
  -e "xpack.security.enabled=false" \
  -e "xpack.license.self_generated.type=trial" \
  -v "elasticsearch-data:/usr/share/elasticsearch/data" \
  docker.elastic.co/elasticsearch/elasticsearch:8.15.0

你可能需要将上述命令中的 Elasticsearch 版本号更改为当前可用的最新版本。

运行命令几秒钟后,Elasticsearch 服务应该已经运行在 http://localhost:9200。在浏览器中打开此链接,以确认服务已经启动并正在运行。

请注意,上述命令启动的服务禁用了身份验证和加密,这意味着任何连接到该服务的人都可以获得访问权限。虽然这种方式便于体验和学习 Elasticsearch,但你绝不应该在生产环境中以这种方式运行服务,也不应该在直接连接到互联网的计算机上以这种方式运行服务

该服务使用试用许可证启动。试用许可证在 30 天的试用期内启用 Elasticsearch 的所有功能,包括 RRF 和 ML Inference。试用期结束后,许可证会降级为基本许可证,该许可证永久免费。如果你希望跳过试用并直接使用基本许可证,请将 xpack.license.self_generated.type 变量的值设置为 basic。有关不同许可证之间详细的功能对比,请参阅 Subscriptions | Elastic Stack Products & Support | Elastic

自托管生产部署

如果你对自托管的 Elasticsearch 生产部署感兴趣,请参考以下链接:

Serverless

请观看视频:https://www.bilibili.com/video/BV1bCMv6uE9m/

Serverless 是一种部署选项,与自托管、ECE/ECK 和专用 Elastic Cloud 一样,托管在 Elastic Cloud 中,并提供完全托管的体验,将底层基础设施抽象出来。你无需等待服务器完成配置,也无需管理和扩展 Elasticsearch 集群。

底层基础设施将被完全抽象,你获得的是一种更加类似 SaaS 的体验,可以立即使用,无需查看或管理任何基础设施。这使你能够自动使用 Elastic 的最新功能,而无需担心管理集群或更新版本。

  1. 进入你的 Elastic Cloud 主页。

  2. 在 Serverless 项目下,选择创建你的第一个 Serverless 项目的选项。

  1. 选择你想要使用的解决方案(Elasticsearch、Elasticsearch Observability 或 Elastic Security)。请注意,Observability 和 Security 解决方案也包含 Elasticsearch。Serverless 的一项有意限制是,你一次只能选择一个解决方案。在本教程中,你将从 Elasticsearch 开始。选择解决方案后,点击 "Next" 按钮。
  1. 对于 Elasticsearch,你需要选择开始使用的配置类型;选项包括:
  • **通用型:**适用于各种数据类型的通用搜索场景。

  • **向量搜索优化型:**适用于使用向量相似度操作和近实时检索的场景。

  • **时间序列优化型:**适用于高容量时间序列数据(例如日志或分析数据)的保留和分析。

你还需要选择云服务提供商和云区域,然后点击 "Create Serverless project" 按钮。

  1. 在创建项目期间,你应该会看到一个带有视频的页面,用于表示项目正在加载。
  1. 几分钟后,你应该会看到一个 "Continue" 按钮,这表示你的集群已经可以使用。请务必点击该按钮。
  1. 你应该会看到一个页面,引导你在 Elasticsearch 中创建你的第一个索引。到这里,你已经成功设置好你的 Serverless 集群了 🎉

要了解如何查找你的 Cloud ID 并创建 API 密钥,请查看本教程

Start-local

Start-local 是一种快速开始并在 macOS、Linux 和 Windows(使用 WSL)上通过 Docker 容器本地运行 Elasticsearch 的选项,适用于测试和开发。

由于安全方面的限制,此配置并非为生产环境设计。请务必查看部署选项,了解生产环境部署选项列表。

在终端中运行 Start-local 脚本:

复制代码
curl -fsSL https://elastic.co/start-local | sh

在所有内容加载期间,你应该会看到类似下面的终端显示,其中会显示 Elasticsearch 和 Kibana 实例正在初始化,以及所使用的版本。此脚本会生成一个随机密码、一个 API 访问密钥,以及一个 elastic-start-local 文件夹。该文件夹中的一些重要文件包括:

  • .env:此文件包含连接到你的 Elasticsearch 和 Kibana 实例所需的访问变量和信息。

  • docker-compose.yml:用于启动你的 Elasticsearch 和 Kibana 实例的 Docker Compose 文件。

  • start.sh/stop.sh/uninstall.sh:用于更改本地实例状态的命令。

  1. 一旦所有内容都创建完成,你应该会看到如下所示的界面,其中会在终端中显示用于打开 Kibana 的本地地址、你的 API 端点、用户名、密码和 URL。
  1. 点击在浏览器中打开的链接,然后使用你的用户名和密码登录。
  1. 现在你应该会看到一个页面,可以在此设置集成,从而连接到数据集或自行进行探索。

更多阅读:用 start-local 脚本在本地运行 Elastic Stack 并创建 AI agents

相关推荐
衡石科技12 分钟前
HENGSHI ChatBI|不止智能问数,Agentic Analytics 重构经营分析全流程
大数据·重构·数据分析·产品运营·bi
小白说大模型12 分钟前
基于 Qwen3.8-Max 构建 AI 合同精审系统:文档解析、多轮条款分析 Pipeline 工程实战
数据库·人工智能·spring·机器学习·自然语言处理
TheBestRucy13 分钟前
Python九阳神功之陆:数据库持久化与缓存·乾坤大挪移
数据库·python·缓存
索西引擎22 分钟前
基于 Docker 容器化的 MySQL 数据库部署与访问控制机制研究
数据库·mysql·docker
智讯阁28 分钟前
能直接操作电脑的AI助手有哪些?AiPy、QoderWork、TRAE Work、WorkBuddy深度实测
大数据·人工智能
TDengine (老段)29 分钟前
TDengine 内存管理 — 池化、缓存、回收
大数据·数据库·物联网·缓存·时序数据库·tdengine·涛思数据
小白说大模型36 分钟前
AI 提示词专栏:Zero-Shot 与 One-Shot Prompt 的差别与适用场景
大数据·数据库·人工智能·sql·深度学习·prompt
oradh41 分钟前
Oracle TM 锁 Mode 4(Share)问题排查总结
数据库·oracle·oracle tm 锁·tm 锁 mode 4
MuMuMu12231 小时前
文旅户外场景智能回收终端工程难点解析:越华环保集团碳惠小屋耐候与供电系统实践
java·大数据·算法