当前位置: 首页 > news >正文

【向量数据库 Milvus】centos8源码安装和部署 Milvus 2.5.3

在龙晰操作系统(LoongArch 架构)的 CentOS 8 环境中通过源码安装和部署 Milvus 2.5.3 可能会面临一些挑战,因为 Milvus 的官方支持主要集中在 x86 和 ARM 架构上。以下是一个详细的安装步骤,但需要注意,某些依赖项可能需要手动适配或编译。


1. 环境准备

确保系统满足以下要求:

  • 操作系统: 龙晰操作系统 CentOS 8(LoongArch 架构)
  • Go: 1.18 或更高版本
  • CMake: 3.18 或更高版本
  • GCC: 7.5 或更高版本
  • Python: 3.7 或更高版本

安装必要的工具和依赖:

sudo dnf update
sudo dnf install -y git make cmake gcc gcc-c++ openblas-devel openssl-devel zlib-devel

2. 安装 Go

如果系统没有安装 Go,可以手动安装:

wget https://golang.google.cn/dl/go1.23.4.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.23.4.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin

验证 Go 安装:

go version

3. 克隆 Milvus 源码

从 GitHub 克隆 Milvus 的源码:

git clone https://github.com/milvus-io/milvus.git
cd milvus
git checkout v2.5.3

4. 编译 Milvus

Milvus 依赖一些 C++ 库(如 Faiss、Knowhere),这些库可能需要手动适配 LoongArch 架构。

4.1 修改 CMake 配置

检查 CMakeLists.txtthird-party 目录下的依赖项,确保支持 LoongArch 架构。如果某些库不支持 LoongArch,可能需要手动编译这些库。

4.2 编译

运行以下命令编译 Milvus:

make milvus

如果编译过程中遇到错误,可能需要手动修改源码或依赖项以适配 LoongArch 架构。


5. 配置 Milvus

复制并修改配置文件:

cp configs/milvus.yaml.example configs/milvus.yaml

根据需要编辑 configs/milvus.yaml,调整存储路径、端口等配置。


6. 启动 Milvus

启动 Milvus 服务:

./bin/milvus run

服务启动后,默认监听端口为 19530


7. 验证安装

使用 curl 或 Milvus SDK 验证服务是否正常运行:

curl http://localhost:19530/version

如果返回版本信息,说明安装成功。


8. 注意事项

  1. 架构适配问题

    • LoongArch 架构可能不完全兼容 Milvus 的某些依赖项(如 Faiss)。如果遇到问题,可能需要手动编译这些依赖项。
    • 可以参考 LoongArch 社区的文档,寻找适配的库或工具链。
  2. 性能问题

    • LoongArch 架构的性能可能与 x86 或 ARM 有所不同,建议进行性能测试。
  3. 社区支持

    • 如果遇到问题,可以向 Milvus 社区或 LoongArch 社区寻求帮助。

9. 参考文档

  • Milvus 官方文档
  • Milvus GitHub 仓库
  • LoongArch 社区

通过以上步骤,你应该能够在龙晰操作系统 CentOS 8 上通过源码安装和部署 Milvus 2.5.3。如果遇到架构适配问题,可能需要进一步调整源码或依赖项。

http://www.lryc.cn/news/521191.html

相关文章:

  • MySQL数据库(SQL分类)
  • C++实现设计模式---原型模式 (Prototype)
  • 鸿蒙面试 2025-01-10
  • Linux Top 命令 load average 指标解读
  • 31_搭建Redis分片集群
  • 客户案例 | Ansys与索尼半导体解决方案公司合作推进自动驾驶汽车基于场景的感知测试
  • c#-Halcon入门教程——标定
  • MC1.12.2 macOS高清修复OptiFine运行崩溃
  • 精选2款.NET开源的博客系统
  • 转运机器人在物流仓储行业的优势特点
  • 简识MySQL的InnoDB Locking锁的分类
  • 如何通过openssl生成.crt和.key
  • .NetCore 使用 NPOI 读取带有图片的excel数据
  • linux上使用update-alternatives来选择软件版本
  • 【Elasticsearch复合查询】
  • Java List去重:Stream、HashMap与TreeSet对比分析
  • 大师课程:专业角色AE+AI动画动态设计关键帧学院视频课程 Key Frame Academy – Character Animation Launchpad
  • 游戏盾SDK如何防护APP攻击
  • Spring Boot 3.x 整合 Logback 日志框架(支持异步写入)
  • 从0开始学习搭网站第二天
  • 【Unity-Animator】通过 StateMachineBehaviour 实现回调
  • 鸿蒙中自定义slider实现字体大小变化
  • 数据结构与算法之栈: LeetCode 71. 简化路径 (Ts版)
  • STM32-笔记40-BKP(备份寄存器)
  • NAS中不同RAID级别特点与适用场景
  • node.js的进程保活
  • meta name=“viewport“ content=“width=device-width, initial-scale=1.0“
  • 【vue3】 defineExpose 的使用
  • 思维转换:突破思维桎梏,创造更高效的工作与生活
  • OpenCV相机标定与3D重建(55)通用解决 PnP 问题函数solvePnPGeneric()的使用