安装要求
以下部分描述了部署Qdrant的要求。
CPU 和内存
您的CPU和RAM的首选大小取决于:
- 向量数量
- 向量维度
- 有效载荷 及其索引
- 存储
- 复制
- 如何配置量化
我们的云定价计算器可以帮助您估算所需的资源,而无需有效负载或索引数据。
支持的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,且无需任何云连接,我们建议使用我们的Helm chart在Kubernetes集群中安装Qdrant,或者使用我们的Qdrant Enterprise Operator。
生产
对于生产环境,我们建议您在云中配置Qdrant,使用Kubernetes,或使用Qdrant Enterprise Operator。
Qdrant 云服务
您可以使用Qdrant Cloud设置生产环境,它提供完全托管的Qdrant数据库。 它提供水平和垂直扩展、一键安装和升级、监控、日志记录以及备份和灾难恢复。更多信息,请参阅Qdrant Cloud文档。
Kubernetes
你可以使用现成的Helm 图表在你的Kubernetes集群中运行Qdrant:
helm repo add qdrant https://qdrant.to/helm
helm install qdrant qdrant/qdrant
欲了解更多信息,请参阅qdrant-helm的README。
Qdrant Kubernetes 操作员
我们为Kubernetes安装提供了一个Qdrant企业操作员。欲了解更多信息,使用此表单联系我们。
Docker 和 Docker Compose
通常,我们建议在Kubernetes中运行Qdrant,或者在生产环境中使用Qdrant Cloud。这使得设置具有备份和灾难恢复功能的高可用性和可扩展的Qdrant集群变得更加容易。
然而,你也可以使用Docker和Docker Compose在生产环境中运行Qdrant,只需按照Docker和Docker Compose开发部分的设置说明操作即可。 此外,你还需要确保:
- 为您的数据使用高性能的持久存储
- 配置您的部署的安全设置
- 为了在多节点上设置和配置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 还为不同的编程语言提供了多种客户端库。完整列表请参阅我们的客户端库文档。
