milvus v1.1.1 GPU版本安装步骤

177 篇文章 4 订阅
21 篇文章 5 订阅

milvus v1.1.1安装步骤

https://milvus.io/cn/docs/v1.1.1/milvus_docker-gpu.md
https://milvus.io/cn/docs/v1.1.1/data_manage.md

sudo docker pull milvusdb/milvus:1.1.1-gpu-d061621-330cc6

mkdir -p /home/$USER/milvus/conf
cd /home/$USER/milvus/conf
wget http://raw.githubusercontent.com/milvus-io/milvus/v1.1.1/core/conf/demo/server_config.yaml

配置文件下载完成后,你需要将 server_config.yaml 中的 gpu 区域的 enable 参数设置为 true。
启动 Docker 容器之前,你必须将 server_config.yaml 中 gpu 部分的 enable 设为 true
sudo docker run -d --name milvus_gpu_1.1.1 --gpus all \
-p 19530:19530 \
-p 19121:19121 \
-v /home/$USER/milvus/db:/var/lib/milvus/db \
-v /home/$USER/milvus/conf:/var/lib/milvus/conf \
-v /home/$USER/milvus/logs:/var/lib/milvus/logs \
-v /home/$USER/milvus/wal:/var/lib/milvus/wal \
milvusdb/milvus:1.1.1-gpu-d061621-330cc6

上述命令中用到的参数定义如下:

-d: 在后台运行容器。
–name: 为容器指定一个名字。
–gpus: 指定可用的 GPU。如填写 all 则表示所有 GPU 均可用。
-p: 指定端口映射。
-v: 将宿主机路径挂载至容器。

最后,确认 Milvus 运行状态:

sudo docker ps

如果 Milvus 服务没有正常启动,执行以下命令查询错误日志:

sudo docker logs milvus_gpu_1.1.1

使用 MySQL 管理元数据

Milvus 默认使用 SQLite 管理元数据,SQLite 具有易于使用、高鲁棒的特性,且无需启动额外服务。但是在生产环境中,基于可靠性的考虑,我们强烈建议你使用 MySQL。
Milvus 在 CentOS 系统中不支持 MySQL 8.0 或更高版本。
出现 database is locked 的报错怎么解决?
如果元数据管理用的是 SQLite,在有数据频繁写入的情况下会出现该错误。建议将 SQLite 更换为 MySQL。如何更换请参考文档 使用 MySQL 管理元数据。

1拉取 MySQL 最新镜像。

docker pull mysql:5.7

2启动 MySQL 服务(密码和端口可自行设置)。

docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

3使用 root 账号和 MySQL 服务所在的主机 IP (<MySQL_server_host IP>)登录 MySQL,回车后系统提示输入密码。输入上一步设置的密码。

mysql -h19xxx5 -uroot -p

mysql -h<MySQL_server_host IP> -uroot -p

4进入 MySQL 客户端命令行,创建一个 database,名称可自行设定,这里使用 milvus。

mysql> create database milvus;

 create database milvus;

5退出 MySQL 客户端, 修改 server_config.yaml 文件的 meta_uri 参数。使用 MySQL 服务所在的主机 IP 作为 IP 地址(<MySQL_server_host IP>)。注意密码、IP 地址、端口以及 database 名称要和以上几步的设置一致。

exit
cd /home/$USER/milvus/conf
vim server_config.yaml

meta_uri: mysql://root:123456@19xxx5:3306/milvus
注意,这里不能是本地的ip127.0.0.1,必须是服务器的真实IP

mysql://root:123456@19xxx5:3306/milvus

在这里插入图片描述

6使用修改过的 server_config.yaml 重启 Milvus 服务。

docker restart milvus_gpu_1.1.1

7可视化工具重新链接是否成功

可视化

指令集

如果你的 CPU 不支持 SSE42、AVX、AVX2、AVX512 其中任何一个指令集,则 Milvus 无法正常启动。可以通过 cat /proc/cpuinfo 查看 CPU 支持的指令集。

除了配置文件外,怎样可以判断我确实在使用 GPU 做搜索?

有以下三种方式:

使用 nvidia-smi 命令查看 GPU 使用情况。
用 Prometheus 配置,详见 使用 Grafana 展示监控指标 > 系统运行指标。 Grafana 展示监控指标 > 系统运行指标
使用 Milvus 服务端的日志。

为什么查询时 GPU 一直空闲?

此时应该是在用 CPU 进行查询。如果要用 GPU 进行查询,需要在配置文件中将 gpu_search_threshold 的值设置为小于 nq (每次查询的向量条数) 。可以将 gpu_search_threshold 的值调整为期望开启 GPU 搜索的 nq 数。若 nq 小于该值,则用 CPU 查询,否则将使用 GPU 查询。不建议在查询批量较小时使用 GPU 搜索。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值