安装、启动 Milvus 服务

安装前提

操作系统

操作系统 版本
CentOS 7.5 或以上
Ubuntu LTS 18.04 或以上

硬件

硬件 建议配置
CPU Intel CPU Sandy Bridge 或以上
CPU 指令集
  • SSE42
  • AVX
  • AVX2
  • AVX512
GPU NVIDIA Pascal 或以上
内存 8 GB 或以上(取决于具体向量数据规模)
硬盘 SATA 3.0 SSD 或以上

软件

软件 版本
Docker 19.03 或以上
NVIDIA driver 418 或以上
NVIDIA Container Toolkit NVIDIA-Container-Toolkit

确认 Docker 状态

确认 Docker daemon 正在运行:

$ sudo docker info
  • 如果无法正常打印 Docker 相关信息,请启动 Docker daemon。
  • 在 Linux 上需要使用 sudo 执行 Docker 命令。若要在没有 sudo 的情况下运行 Docker 命令,请创建 docker 组并添加用户,详见 Linux 安装步骤

拉取 Milvus 镜像

拉取支持 GPU 的镜像:

$ sudo docker pull milvusdb/milvus:0.11.0-gpu-d101620-4c44c0
  • 如果你的主机由于网络限制无法在线获得 Docker 镜像和配置文件,请从其他主机在线获取镜像,保存为 TAR 文件传输回本地,传输完成后重新加载为 Docker 镜像:
    点击查看离线传输相关代码示例。
    1. 将 Docker 镜像保存为 TAR 文件再使用合适的方式传输。
      $ docker save milvusdb/milvus > milvus_image.tar
    2. 将 TAR 文件传输完成后使用以下命令重新加载成 Docker 镜像。
      $ docker load < milvus_image.tar
  • 如果拉取镜像的速度过慢或一直失败,请参考 部署运维问题 中提供的解决办法。

下载并修改配置文件

$ mkdir -p /home/$USER/milvus/conf
$ cd /home/$USER/milvus/conf
$ wget http://raw.githubusercontent.com/milvus-io/milvus/0.11.0/core/conf/demo/milvus.yaml
如果无法通过 wget 命令正常下载,你也可以在 /home/$USER/milvus/conf 目录下创建 milvus.yaml 文件,然后将 server config 文件 的内容复制到你创建的配置文件中。

配置文件下载完成后,你需要将 milvus.yaml 中的 gpu 区域的 enable 参数设置为 true

启动 Milvus Docker 容器

启动 Docker 容器之前,你必须将 milvus.yamlgpu 部分的 enable 设为 true

启动 Docker 容器,将本地的文件路径映射到容器中:

$ sudo docker run -d --name milvus_gpu_0.11.0 --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:0.11.0-gpu-d101620-4c44c0

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

  • -d: 在后台运行容器。
  • --name: 为容器指定一个名字。
  • --gpus: 指定可用的 GPU。如未填写任何值,则所有 GPU 都可用。
  • -p: 指定端口映射。
  • -v: 将宿主机路径挂载至容器。

最后,确认 Milvus 运行状态:

$ sudo docker ps

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

$ sudo docker logs milvus_gpu_0.11.0

常见问题

可以在 Windows 上安装 Milvus 吗? 理论上只要能够支持 Docker 的操作系统都可以运行 Milvus。
为什么 Milvus 在启动时返回 Illegal instruction 如果你的 CPU 不支持 SSE42、AVX、AVX2、AVX512 其中任何一个指令集,则 Milvus 无法正常启动。可以通过 cat /proc/cpuinfo 查看 CPU 支持的指令集。
Milvus 中如何实现数据迁移?

把原有的 Milvus 服务的整个 db 目录拷贝到新的路径下,启动新的 Milvus 服务时,将该 Milvus 服务的 db 目录映射为刚拷贝过来的 db 目录。

注意:不同版本之间,数据可能会不兼容。目前数据格式兼容到 0.7.0。

Milvus 只能使用 Docker 部署吗? Milvus 还支持源码编译,该方法仅支持 Linux 系统。详见 从源代码编译 Milvus

接下来你可以

编辑
© 2019 - 2020 Milvus. All rights reserved.