安装、启动 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.10.3-gpu-d091720-f962e8
  • 如果你的主机由于网络限制无法在线获得 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.10.3/core/conf/demo/server_config.yaml
如果无法通过 wget 命令正常下载,你也可以在 /home/$USER/milvus/conf 目录下创建 server_config.yaml 文件,然后将 server config 文件 的内容复制到你创建的配置文件中。

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

启动 Milvus Docker 容器

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

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

$ sudo docker run -d --name milvus_gpu_0.10.3 --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.10.3-gpu-d091720-f962e8

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

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

最后,确认 Milvus 运行状态:

$ sudo docker ps

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

$ sudo docker logs milvus_gpu_0.10.3

常见问题

可以在 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.