Qdrant Linux 安装(非Docker)

选择:qdrant-x86_64-unknown-linux-musl.tar.gz 下载安装
image

这两个文件的核心区别在于它们依赖的C标准库(libc)不同,这直接决定了Qdrant二进制文件的可移植性运行方式

核心区别:glibc vs. musl

特性 ...-linux-gnu.tar.gz ...-linux-musl.tar.gz
C标准库 GNU C 库 (glibc) musl libc
链接方式 动态链接 全静态链接
外部依赖 依赖系统已安装的glibc 无外部依赖,独立运行
兼容性 受限于glibc版本,可能出现“GLIBC_2.xx not found”错误 在任何Linux发行版上均可运行
体积 通常较大 通常较小

如何选择?

选择 ...-linux-musl.tar.gz 的情况:

  • 追求高可移植性:希望在绝大多数Linux系统上都能“即下即用”,例如在CentOS、Alpine等使用musl的发行版,或其他无法确定glibc版本的环境中运行。
  • 追求轻量与快速部署:静态链接的二进制文件更适合容器化环境,无需担心底层库的版本问题。

选择 ...-linux-gnu.tar.gz 的情况:

  • 运行在标准的、使用glibc的主流Linux发行版上(如Ubuntu, Debian, Fedora等)。
  • 能确保系统glibc版本与Qdrant编译时所依赖的版本兼容。

总结

简单来说,gnu版本更“依赖”你的系统环境,而musl版本则更“独立”和“通用”。如果你不确定如何选择,优先使用 ...-linux-musl.tar.gz 版本通常能避免绝大多数兼容性问题。

在运行前,你可以用 ldd 命令检查二进制文件的动态链接库依赖,从而验证其独立性。

安装

在 CentOS 上安装 Qdrant 的 musl 版本,操作步骤非常直接,无需额外安装依赖库。主要流程是下载、解压并运行。

这里提供一个推荐的生产环境部署方案,它会将 Qdrant 配置为系统服务(systemd)来运行。

📝 详细安装步骤

你可以直接复制下面的命令块,在 CentOS 终端中依次执行。

1. 下载并安装二进制文件

首先,下载最新的 musl 版本压缩包,并将其解压到 /usr/local/bin/ 目录。

# 下载最新版本的 musl 二进制文件到临时目录
curl -L https://github.com/qdrant/qdrant/releases/latest/download/qdrant-x86_64-unknown-linux-musl.tar.gz -o /tmp/qdrant.tar.gz

# 解压文件到 /usr/local/bin/ 目录
sudo tar -xzf /tmp/qdrant.tar.gz -C /usr/local/bin/

2. 创建专用用户和目录

为了安全和管理方便,创建一个专门的 qdrant 用户和存储数据的目录。

# 创建一个不能登录的 qdrant 用户
sudo useradd -r -s /bin/false qdrant

# 创建数据存储目录
#sudo mkdir -p /var/lib/qdrant/storage /var/lib/qdrant/snapshots
sudo mkdir -p /opt/qdrant/storage /opt/qdrant/snapshots

# 将目录所有权赋予 qdrant 用户
#sudo chown -R qdrant:qdrant /var/lib/qdrant
sudo chown -R qdrant:qdrant /opt/qdrant

3. 创建配置文件

创建一个基础的配置文件 /etc/qdrant/config.yaml,以便更好地控制 Qdrant 的行为。

# 创建配置目录
sudo mkdir -p /etc/qdrant

# 写入基础配置
sudo tee /etc/qdrant/config.yaml > /dev/null <<EOF
storage:
  storage_path: /opt/qdrant/storage
  snapshots_path: /opt/qdrant/snapshots
service:
  host: 0.0.0.0
  http_port: 6333
  grpc_port: 6334
EOF

4. 创建并启动 systemd 服务

创建 systemd 服务文件,让 Qdrant 能在后台稳定运行,并实现开机自启。

# 创建 systemd 服务文件
sudo tee /etc/systemd/system/qdrant.service > /dev/null <<EOF
[Unit]
Description=Qdrant Vector Database
After=network.target

[Service]
Type=simple
User=qdrant
Group=qdrant
WorkingDirectory=/opt/qdrant
ExecStart=/usr/local/bin/qdrant --config-path /etc/qdrant/config.yaml
Restart=always

[Install]
WantedBy=multi-user.target
EOF

# 重新加载 systemd 配置
sudo systemctl daemon-reload

# 启动 Qdrant 服务并设置开机自启
sudo systemctl enable --now qdrant

✅ 验证安装

安装完成后,可以通过以下命令检查服务状态和运行情况:

  • 检查服务状态

    sudo systemctl status qdrant
    

    如果看到 active (running) 字样,说明服务正在运行。

  • 访问 API 接口

    curl http://localhost:6333/healthz
    

    如果返回类似 {"title":"qdrant - vector search engine","version":"1.x.x"} 的 JSON 信息,则表示 API 服务正常。

🔧 操作与排障

  • 常用服务管理命令

    • 停止服务:sudo systemctl stop qdrant
    • 重启服务:sudo systemctl restart qdrant
    • 查看日志:sudo journalctl -u qdrant -f
  • 防火墙设置:如果需要在其他机器上访问 Qdrant,记得在 CentOS 防火墙中开放 6333 (HTTP) 和 6334 (gRPC) 端口。

    sudo firewall-cmd --permanent --add-port=6333/tcp
    sudo firewall-cmd --permanent --add-port=6334/tcp
    sudo firewall-cmd --reload
    
  • 验证 musl 版本:如果想确认运行的是 musl 版本,可以用 ldd 命令检查:

    ldd /usr/local/bin/qdrant
    

    如果输出是 not a dynamic executablestatically linked,就说明它是静态编译的 musl 版本。

# 创建静态文件目录,将 qdrant-web-ui dist 文件传上去
sudo mkdir -p /opt/qdrant/static

# 确保 `qdrant` 用户有权限读取这些文件。
sudo chown -R qdrant:qdrant /var/lib/qdrant/static

# 重启 Qdrant 服务
sudo systemctl restart qdrant
posted @ 2026-09-07 10:38  VipSoft  阅读(10)  评论(0)    收藏  举报