Register now open for the virtual Milvus Community Conf2020!Join us on Oct.17th, 2020.

Install and Start Milvus

Prerequisites

Operating system requirements

Operating system Supported versions
CentOS 7.5 or higher
Ubuntu LTS 18.04 or higher

Hardware requirements

Component Recommended configuration
CPU Intel CPU Sandy Bridge or higher.
CPU instruction set
  • SSE42
  • AVX
  • AVX2
  • AVX512
RAM 8 GB or more (depends on the data volume)
Hard drive SATA 3.0 SSD or higher

Software requirements

Software Version
Docker 19.03 or higher
Please ensure that the available memory is greater than the sum of cache.insert_buffer_size and cache.cache_size set in the server_config.yaml file.

Confirm Docker status

Confirm that the Docker daemon is running in the background:

$ sudo docker info
  • If you do not see the server listed, start the Docker daemon.
  • On Linux, Docker needs sudo privileges. To run Docker commands without sudo privileges, create a docker group and add your users (see Post-installation steps for Linux for details).

Pull Docker image

Pull the CPU-only image:

$ sudo docker pull milvusdb/milvus:0.10.2-cpu-d081520-8a2393
  • If you cannot use your host to acquire Docker images and configuration files online because of network restrictions, please acquire them online from another available host, save them as a TAR file, pass it on to your local machine, and then load the TAR file as a Docker image:
    Click here to view the sample code.
    1. Save the Docker image as a TAR file, and pass it on to your local machine:
      $ docker save milvusdb/milvus > milvus_image.tar
    2. Load the TAR file as a Docker image:
      $ docker load < milvus_image.tar
  • If pulling the docker image is too slow or keeps failing, see Operational FAQ for solutions.

Download configuration files

$ mkdir -p /home/$USER/milvus/conf
$ cd /home/$USER/milvus/conf
$ wget https://raw.githubusercontent.com/milvus-io/milvus/0.10.2/core/conf/demo/server_config.yaml
If you cannot download configuration files via the wget command, you can create a server_config.yaml file under /home/$USER/milvus/conf, and then copy the content from server config to it.

Start Docker container

Start Docker container and map the paths to the local files to the container:

$ sudo docker run -d --name milvus_cpu_0.10.2 \
-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.2-cpu-d081520-8a2393

The docker run options used in the above command are defined as follows:

  • -d: Runs container in the background and prints container ID.
  • --name: Assigns a name to the container.
  • -p: Publishes a container’s port(s) to the host.
  • -v: Mounts the directory into the container.

Confirm the running state of Milvus:

$ sudo docker ps

If the Milvus server does not start up properly, check the error logs:

$ sudo docker logs milvus_cpu_0.10.2

FAQ

Can I install Milvus on Windows? Yes, so long as you have set up a Docker environment on your operating system.
Why does Milvus return Illegal instruction during startup? If your CPU does not support SSE42, AVX, AVX2, or AVX512, Milvus cannot start properly. You can use cat /proc/cpuinfo to check the supported instruction sets.
How to migrate data in Milvus?

Copy the entire db directory of the original Milvus service to the new directory. When restarting the Milvus service, map the copied db directory to the db directory of the Milvus service.

Note: Data formats of different versions may not be compatible with each other. The current data format is backward compatible with Milvus v0.7.0.

Is Docker the only way to install and run Milvus? No. You can also build Milvus from source code in Linux. See Build Milvus from source code for more information.

What's next

Edit
© 2019 - 2020 Milvus. All rights reserved.