milvus源码编译

简介: milvus源码编译

编译环境

os:ubuntu22.04.6 live-server,x64
gcc:9.4.0
cmake:3.24.0
go:1.18.10
milvus: v2.3.2
操作系统建议使用ubuntu。在centos7上未编译成功。
在root账户下操作。

安装gcc

因为后面需要安装cmake,因此先安装如下依赖:

apt install g++ gcc make libssl-dev

添加i386架构的支持。这个命令通常在需要安装32位软件包时使用。后面安装依赖需要这个。

dpkg --add-architecture i386
apt-get update

安装cmake

下载路径:

https://codeload.github.com/Kitware/CMake/zip/refs/tags/v3.24.0

下载后进行安装:

unzip CMake-3.24.0.zip
cd CMake-3.24.0/
./configure
make -j4  #-j4代表开启4个并发进行编译
make install

//查看版本
cmake --version
cmake version 3.24.0

安装OpenBLAS

BLAS(Basic Linear Algebra Subprograms 基础线性代数程序集)是一个应用程序接口(API)标准,用以规范发布基础线性代数操作的数值库(如矢量或矩阵乘法),OpenBLAS是BLAS标准的一种具体实现。
OpenBLAS被应用于科学计算、数据分析、深度学习算法、人工智能等领域。

下载milvus源码:

https://github.com/milvus-io/milvus/archive/refs/tags/v2.3.2.zip

源码包拷贝至/mnt目录

cd /mnt
unzip milvus-2.3.2.zip

脚本会使用wget去国外站点下载一些软件包,由于国外访问比较慢,解决这个问题,可以配置代理。
设置环境变量:

export http_proxy="http://192.168.230.10:1080"
export https_proxy="http://192.168.230.10:1080"

这2个环境变量针对wget,curl,cmake,yum均适用。
执行脚本的时候还会去github下载源码,因此还需要配置一下git的代理:

git config --global http.proxy http://192.168.230.10:1080
git config --global https.proxy http://192.168.230.10:1080
git config --list

执行脚本install_deps_embd.sh(OpenBLAS):
由于是用root用户执行,无需sudo,去掉脚本里的sudo。
111.png

. scripts/install_deps_embd.sh

这个阶段执行会比较耗时。

安装其它依赖

执行install_deps.sh脚本,执行之前也去掉sudo。
222.png

. scripts/install_deps.sh

这个脚本执行耗时不长。

源码编译

前面的准备工作都已经完成,现在开始进行源码编译。

make milvus

这个阶段会耗时很长。
执行完成后会产生一个二进制文件:

bin/milvus

产生的库文件位置:

internal/core/output/lib

至此milvus的源码编译完成。

目录
相关文章
|
消息中间件 Kubernetes 数据安全/隐私保护
milvus本地集群部署(非k8s)
milvus本地集群部署(非k8s)
1151 0
|
存储 Linux 数据安全/隐私保护
安装部署milvus单机版(快速体验)
安装部署milvus单机版(快速体验)
4014 0
|
算法 程序员 Go
[软件工程导论(第六版)]第6章 详细设计(复习笔记)
[软件工程导论(第六版)]第6章 详细设计(复习笔记)
|
JSON NoSQL Java
【Redis】2、Redis 的 Java 客户端(Jedis 和 SpringDataRedis)
【Redis】2、Redis 的 Java 客户端(Jedis 和 SpringDataRedis)
693 0
|
11月前
|
Shell 开发工具 数据安全/隐私保护
milvus单节点安装教程
本文介绍了Milvus的安装与鉴权配置步骤。首先通过下载并执行.sh文件完成安装,命令为`wget`下载脚本和`bash standalone_embed.sh start`启动服务。若需开启鉴权,建议修改外部配置文件`user.yaml`中的`authorizationEnabled`选项为`true`,重启容器后,默认用户名密码为root/Milvus。此外,提供了Python验证连接的方法及修改密码的示例。参考资料包括官方文档和视频教程。
|
弹性计算 Linux Shell
阿里云ecs linux系统如何进行系统盘的扩容
阿里云ecs linux系统如何进行系统盘的扩容【1月更文挑战第3天】
661 1
|
SQL 安全 Go
【Go语言专栏】Go语言中的安全审计与漏洞修复
【4月更文挑战第30天】本文介绍了Go语言中的安全审计和漏洞修复实践。安全审计包括代码审查、静态分析、运行时分析、渗透测试和专业服务,借助工具如`go vet`、`staticcheck`、`gosec`等。修复漏洞的方法涉及防止SQL注入、XSS攻击、CSRF、不安全反序列化等。遵循最小权限原则、输入验证等最佳实践,结合持续学习,可提升Go应用安全性。参考[Go安全工作组](https://github.com/golang/security)和[OWASP Top 10](https://owasp.org/www-project-top-ten/)深入学习。
535 0
|
人工智能 Linux Docker
一文详解几种常见本地大模型个人知识库工具部署、微调及对比选型(1)
近年来,大模型在AI领域崭露头角,成为技术创新的重要驱动力。从AlphaGo的胜利到GPT系列的推出,大模型展现出了强大的语言生成、理解和多任务处理能力,预示着智能化转型的新阶段。然而,要将大模型的潜力转化为实际生产力,需要克服理论到实践的鸿沟,实现从实验室到现实世界的落地应用。阿里云去年在云栖大会上发布了一系列基于通义大模型的创新应用,标志着大模型技术开始走向大规模商业化和产业化。这些应用展示了大模型在交通、电力、金融、政务、教育等多个行业的广阔应用前景,并揭示了构建具有行业特色的“行业大模型”这一趋势,大模型知识库概念随之诞生。
157555 30
Jupyter Notebook & Lab快捷键大全
Jupyter Notebook & Lab快捷键大全
820 3

热门文章

最新文章