安装要求

以下部分描述了部署 Qdrant 的要求。

CPU 和内存

CPU 和 RAM 的推荐大小取决于

  • 向量数量
  • 向量维度
  • 载荷及其索引
  • 存储
  • 副本
  • 量化配置方式

我们的云定价计算器可以帮助您估算所需资源,不包括载荷或索引数据。

支持的 CPU 架构

64 位系统

  • x86_64/amd64
  • AArch64/arm64

32 位系统

  • 不支持

存储

对于持久存储,Qdrant 要求对具有 POSIX 兼容文件系统的存储设备进行块级访问。提供块级访问的网络系统,如 iSCSI,也是可以接受的。Qdrant 不支持 网络文件系统(如 NFS)或 对象存储系统(如 S3)。

如果您将向量卸载到本地磁盘,我们建议您使用固态(SSD 或 NVMe)驱动器。

网络

每个 Qdrant 实例需要三个开放端口

集群中的所有 Qdrant 实例必须能够

  • 通过这些端口相互通信
  • 允许使用 Qdrant 的客户端传入连接到端口 63336334

安全

Qdrant 的默认配置可能不足以应对所有情况。请参阅我们的安全文档以获取更多信息。

安装选项

Qdrant 可以根据您的需求以不同的方式安装

对于生产环境,您可以使用我们的 Qdrant 云,可以在我们的基础设施中完全托管运行 Qdrant,也可以在您的基础设施中使用混合云运行。

如果您想在自己的基础设施中运行 Qdrant,不进行任何云连接,我们建议您使用我们的 Qdrant 私有云企业版 Operator 在 Kubernetes 集群中安装 Qdrant。

对于测试或开发设置,您可以运行 Qdrant 容器或作为二进制可执行文件。我们还提供了一个 Helm chart,以便在 Kubernetes 中轻松安装。

生产环境

Qdrant 云

您可以通过 Qdrant 云设置生产环境,它提供完全托管的 Qdrant 数据库。它提供水平和垂直扩展、一键安装和升级、监控、日志记录以及备份和灾难恢复。有关更多信息,请参阅 Qdrant 云文档

Qdrant Kubernetes Operator

我们提供 Qdrant 企业版 Operator 用于 Kubernetes 安装,作为我们的 Qdrant 私有云产品的一部分。有关更多信息,请使用此表格联系我们。

Kubernetes

您可以使用现成的 Helm Chart 在您的 Kubernetes 集群中运行 Qdrant。虽然可以使用 Helm chart 在分布式设置中部署 Qdrant,但它不具备与 Qdrant 云产品或 Qdrant 私有云企业版 Operator 相同级别的零停机升级、向上和向下扩展、监控、日志记录以及备份和灾难恢复功能。相反,您必须自行管理和设置。对 Helm chart 的支持仅限于社区支持。

下表概述了 Qdrant 云和 Helm chart 之间的功能差异

特征Qdrant Helm ChartQdrant 云
开源
仅限社区支持
快速入门
垂直和水平扩展
具有细粒度访问控制的 API 密钥
Qdrant 版本升级
支持传输和存储加密
采用优化重启策略的零停机升级
开箱即用的生产环境
缩容时防止数据丢失
完整集群备份和灾难恢复
自动分片再平衡
重新分片支持
自动持久卷扩展
高级遥测
一键撤销 API 密钥
在现有集群中用新卷重新创建节点
企业支持

安装 helm chart

helm repo add qdrant https://qdrant.to/helm
helm install qdrant qdrant/qdrant

有关更多信息,请参阅 qdrant-helm README。

Docker 和 Docker Compose

通常,我们建议在 Kubernetes 中运行 Qdrant,或在生产设置中使用 Qdrant 云。这使得设置具有备份和灾难恢复的高可用和可扩展 Qdrant 集群变得容易得多。

但是,您也可以通过遵循DockerDocker Compose开发部分的设置说明,使用 Docker 和 Docker Compose 在生产环境中运行 Qdrant。此外,您必须确保

开发环境

对于开发和测试,我们建议您在 Docker 中设置 Qdrant。我们还有不同的客户端库。

Docker

开始使用 Qdrant 进行测试或开发的最简单方法是运行 Qdrant 容器镜像。最新版本始终在 DockerHub 上提供。

确保已安装并运行 DockerPodman 或您选择的容器运行时。以下说明使用 Docker。

拉取镜像

docker pull qdrant/qdrant

在以下命令中,请根据您的 Docker 配置修改 $(pwd)/path/to/data。然后使用更新后的命令运行容器

docker run -p 6333:6333 \
    -v $(pwd)/path/to/data:/qdrant/storage \
    qdrant/qdrant

通过此命令,您将启动一个具有默认配置的 Qdrant 实例。它将所有数据存储在 ./path/to/data 目录中。

默认情况下,Qdrant 使用端口 6333,因此在 localhost:6333 您应该会看到欢迎消息。

要更改 Qdrant 配置,您可以覆盖生产配置

docker run -p 6333:6333 \
    -v $(pwd)/path/to/data:/qdrant/storage \
    -v $(pwd)/path/to/custom_config.yaml:/qdrant/config/production.yaml \
    qdrant/qdrant

或者,您可以使用自己的 custom_config.yaml 配置文件

docker run -p 6333:6333 \
    -v $(pwd)/path/to/data:/qdrant/storage \
    -v $(pwd)/path/to/custom_config.yaml:/qdrant/config/custom_config.yaml \
    qdrant/qdrant \
    ./qdrant --config-path config/custom_config.yaml

有关更多信息,请参阅配置文档。

Docker Compose

您也可以使用 Docker Compose 运行 Qdrant。

这是一个用于单节点 Qdrant 集群的自定义 compose 文件示例

services:
  qdrant:
    image: qdrant/qdrant:latest
    restart: always
    container_name: qdrant
    ports:
      - 6333:6333
      - 6334:6334
    expose:
      - 6333
      - 6334
      - 6335
    configs:
      - source: qdrant_config
        target: /qdrant/config/production.yaml
    volumes:
      - ./qdrant_data:/qdrant/storage

configs:
  qdrant_config:
    content: |
      log_level: INFO

从源代码

Qdrant 用 Rust 编写,可以编译成二进制可执行文件。如果您想为特定的处理器架构编译 Qdrant 或不想使用 Docker,这种安装方法会很有帮助。

在编译之前,请确保已安装必要的库和 rust 工具链。所需库的当前列表可以在 Dockerfile 中找到。

使用 Cargo 构建 Qdrant

cargo build --release --bin qdrant

构建成功后,您可以在以下子目录 ./target/release/qdrant 中找到二进制文件。

客户端库

除了服务,Qdrant 还提供了各种不同编程语言的客户端库。有关完整列表,请参阅我们的客户端库文档。

此页面有用吗?

感谢您的反馈!🙏

我们很抱歉听到这个消息。😔 您可以在 GitHub 上编辑此页面,或创建一个 GitHub 问题。