安装要求
以下部分描述了部署 Qdrant 的要求。
CPU 和内存
CPU 和内存的建议大小取决于
- 向量数量
- 向量维度
- 载荷及其索引
- 存储
- 复制
- 您如何配置量化
我们的云定价计算器可以帮助您估算所需资源,不包括载荷或索引数据。
支持的 CPU 架构
64 位系统
- x86_64/amd64
- AArch64/arm64
32 位系统
- 不支持
存储
对于持久存储,Qdrant 需要块级访问存储设备,且文件系统须与 POSIX 兼容。提供块级访问的网络系统,如 iSCSI,也是可以接受的。Qdrant 不支持网络文件系统,如 NFS,或对象存储系统,如 S3。
如果您将向量卸载到本地磁盘,我们建议您使用固态硬盘 (SSD 或 NVMe)。
网络
每个 Qdrant 实例需要开放三个端口
集群中的所有 Qdrant 实例必须能够
- 通过这些端口相互通信
- 允许使用 Qdrant 的客户端连接到端口
6333
和6334
。
安全性
Qdrant 的默认配置可能不足以应对所有情况。更多信息请参阅我们的安全文档。
安装选项
Qdrant 可以根据您的需求通过不同的方式安装
对于生产环境,您可以使用我们的 Qdrant Cloud 在我们的基础设施中完全托管运行 Qdrant,或者使用混合云在您自己的基础设施中运行。
如果您想在自己的基础设施中运行 Qdrant,且不连接任何云,我们建议您使用我们的 Qdrant Private Cloud Enterprise Operator 在 Kubernetes 集群中安装 Qdrant。
对于测试或开发环境,您可以运行 Qdrant 容器或二进制可执行文件。我们也提供一个 Helm Chart,以便在 Kubernetes 中轻松安装。
生产环境
Qdrant Cloud
您可以使用 Qdrant Cloud 设置生产环境,它提供完全托管的 Qdrant 数据库。它提供横向和纵向扩展、一键安装和升级、监控、日志记录以及备份和灾难恢复。更多信息请参阅 Qdrant Cloud 文档。
Qdrant Kubernetes Operator
作为我们 Qdrant Private Cloud 产品的一部分,我们为 Kubernetes 安装提供 Qdrant Enterprise Operator。更多信息,请使用此表单联系我们。
Kubernetes
您可以使用现成的 Helm Chart 在您的 Kubernetes 集群中运行 Qdrant。虽然可以使用 Helm Chart 部署 Qdrant 的分布式设置,但它不像 Qdrant Cloud 产品或 Qdrant Private Cloud Enterprise Operator 那样提供零停机升级、扩容和缩容、监控、日志记录以及备份和灾难恢复的相同水平的功能。相反,您必须自己管理和设置这些。对 Helm Chart 的支持仅限于社区支持。
下表概述了 Qdrant Cloud 和 Helm Chart 之间的功能差异
功能 | Qdrant Helm Chart | Qdrant Cloud |
---|---|---|
开源 | ✅ | |
仅社区支持 | ✅ | |
快速入门 | ✅ | ✅ |
纵向和横向扩展 | ✅ | ✅ |
具有精细访问控制的 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 Cloud 进行生产环境设置。这使得设置高可用、可扩展且具备备份和灾难恢复功能的 Qdrant 集群变得容易得多。
但是,您也可以通过遵循Docker 和 Docker Compose 开发部分中的设置说明,使用 Docker 和 Docker Compose 在生产环境中运行 Qdrant。此外,您必须确保
- 为您的数据使用高性能的持久存储
- 为您的部署配置安全设置
- 在多个节点上设置和配置 Qdrant,以实现高可用的分布式部署
- 为您的 Qdrant 集群设置负载均衡器
- 为您的数据创建备份和灾难恢复策略
- 将 Qdrant 与您的监控和日志解决方案集成
开发环境
对于开发和测试,我们建议您在 Docker 中设置 Qdrant。我们还提供了不同的客户端库。
Docker
对于测试或开发而言,开始使用 Qdrant 最简单的方法是运行 Qdrant 容器镜像。最新版本始终可在 DockerHub 上获取。
请确保您已安装并运行 Docker、Podman 或您选择的容器运行时。以下说明使用 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 还为不同的编程语言提供了各种客户端库。完整列表请参阅我们的客户端库文档。