以下是使用 Markdown 润色后的 Qdrant 部署文档,保留了原始信息结构并优化了可读性和格式:
Qdrant 高可用部署指南
- 部署版本:
v1.14.1
- 部署方式:二进制高可用部署(1 主 2 从)
一、部署依赖环境
由于 Qdrant 依赖较高版本的 glibc
和 gcc
,需自行构建:
- glibc:
2.38
- gcc:
13.2.0
1. 安装构建依赖
sudo dnf install -y \
m4 bison gawk gcc gcc-c++ make tar wget bzip2 \
gmp-devel mpfr-devel libmpc-devel glibc-devel kernel-headers \
flex texinfo patch perl which diffutils
2. 构建 glibc
和 gcc
#!/bin/bash
set -e
export PREFIX=/opt/qdrant-env
export GLIBC_VERSION=2.38
export GCC_VERSION=13.2.0
mkdir -p $PREFIX/src && cd $PREFIX/src
# 下载源码
wget http://mirrors.aliyun.com/gnu/glibc/glibc-$GLIBC_VERSION.tar.gz
wget http://mirrors.aliyun.com/gnu/gcc/gcc-$GCC_VERSION/gcc-$GCC_VERSION.tar.gz
tar -xf glibc-$GLIBC_VERSION.tar.gz
tar -xf gcc-$GCC_VERSION.tar.gz
# 编译 glibc
mkdir -p glibc-build && cd glibc-build
../glibc-$GLIBC_VERSION/configure --prefix=$PREFIX/glibc --disable-werror
make -j$(nproc) && make install
cd ..
# 编译 gcc(只构建 C++)
cd gcc-$GCC_VERSION
./contrib/download_prerequisites
mkdir -p ../gcc-build && cd ../gcc-build
../gcc-$GCC_VERSION/configure --prefix=$PREFIX/gcc --disable-multilib --enable-languages=c,c++ --disable-bootstrap
make -j$(nproc) && make install
echo "✅ glibc and gcc build complete"
二、部署 Qdrant
1. 下载并解压 Qdrant
sudo mkdir -p /opt/qdrant
cd /opt/qdrant
wget https://github.com/qdrant/qdrant/releases/download/v1.14.1/qdrant-x86_64-unknown-linux-gnu.tar.gz
tar zxvf qdrant-x86_64-unknown-linux-gnu.tar.gz
2. 配置 Qdrant
编辑 /opt/qdrant/config/production.yaml
,参考示例进行修改:
- 日志级别:
log_level: INFO
- 数据存储路径:
/aifs01/qdrant/data/storage
- 快照路径:
/aifs01/qdrant/data/snapshots
- 启用集群:
cluster.enabled: true
- 主节点地址:
http://10.17.39.11:6335
- 监听端口:HTTP
6333
,gRPC6334
- 启用仪表盘访问路径:
/opt/qdrant/static
✅ 配置文件建议统一,所有节点使用同一份配置。部分差异(如启动参数)通过 systemd 区分。
三、创建 systemd 启动服务
1. Master 节点(/etc/systemd/system/qdrant.service
)
[Unit]
Description=Qdrant Vector Search Engine Master Node
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/qdrant
Environment=LD_LIBRARY_PATH=/opt/qdrant-env/glibc/lib:/opt/qdrant-env/gcc/lib64
ExecStart=/opt/qdrant-env/glibc/lib/ld-linux-x86-64.so.2 \
--library-path /opt/qdrant-env/glibc/lib:/opt/qdrant-env/gcc/lib64 \
/opt/qdrant/qdrant --config-path /opt/qdrant/config/production.yaml --uri http://10.17.39.11:6335
LimitNOFILE=65536
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
2. Slave 节点(/etc/systemd/system/qdrant.service
)
[Unit]
Description=Qdrant Vector Search Engine Slave Node
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/qdrant
Environment=LD_LIBRARY_PATH=/opt/qdrant-env/glibc/lib:/opt/qdrant-env/gcc/lib64
ExecStart=/opt/qdrant-env/glibc/lib/ld-linux-x86-64.so.2 \
--library-path /opt/qdrant-env/glibc/lib:/opt/qdrant-env/gcc/lib64 \
/opt/qdrant/qdrant --config-path /opt/qdrant/config/production.yaml --bootstrap http://10.17.39.11:6335
LimitNOFILE=65536
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
⚠️ 注意:主从节点的启动参数不同,主用
--uri
,从用--bootstrap
四、部署 Dashboard
在 Master 节点上:
wget https://github.com/qdrant/qdrant-web-ui/releases/download/v0.1.40/dist-qdrant.zip
unzip dist-qdrant.zip
cp -r dist/* /opt/qdrant/static/
访问地址(堡垒机内网):
http://10.17.39.11:6333/dashboard#/console
五、开机启动
systemctl enable qdrant
六、数据备份策略
- 时间:每日凌晨 1 点
- 保留:最近 7 天
- 位置:
/data/qdrant/backup/qdrant/
- 方式:通过
crontab
定时任务执行
七、常见运维问题
❓ Q: 如果节点 IP 变更怎么办?
-
A: 修改存储路径下的
raft_state.json
文件中的 IP 信息
路径示例:${STORAGE_PATH}/storage/raft_state.json
⚠️ 注意:必须在停止 Qdrant 后进行修改,否则可能导致数据不一致!
如果你需要我为上述文档生成 PDF、导出为 HTML、或做更多内容结构优化(比如分章节、多语言),也可以告诉我。