milvus/scripts/README.md
edward.zeng d278fffca1
[skip ci] Refine scripts readme (#9408)
Signed-off-by: Edward Zeng <jie.zeng@zilliz.com>
2021-10-07 18:34:42 +08:00

110 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Compile and install milvus-distributed
## Environment
```
OS: Ubuntu 18.04
go1.15
cmake: >=3.18
gcc 7.5
```
## Install dependencies
Install compile dependencies
```shell
sudo apt install -y g++ gcc make libssl-dev zlib1g-dev libboost-regex-dev \
libboost-program-options-dev libboost-system-dev libboost-filesystem-dev \
libboost-serialization-dev python3-dev libboost-python-dev libcurl4-openssl-dev gfortran libtbb-dev
export GO111MODULE=on
go get github.com/golang/protobuf/protoc-gen-go@v1.3.2
```
Install OpenBlas library
```shell
wget https://github.com/xianyi/OpenBLAS/archive/v0.3.9.tar.gz && \
tar zxvf v0.3.9.tar.gz && cd OpenBLAS-0.3.9 && \
make TARGET=CORE2 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1 USE_THREAD=0 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="-O3 -g -fPIC" FCOMMON_OPT="-O3 -g -fPIC -frecursive" NMAX="NUM_THREADS=128" LIBPREFIX="libopenblas" LAPACKE="NO_LAPACKE=1" INTERFACE64=0 NO_STATIC=1 && \
make PREFIX=/usr install
```
## Compile
Generate the go files from proto file
```shell
make check-proto-product
```
Check code specifications
```shell
make verifiers
```
Compile milvus
```shell
make all
```
## Install docker-compose
refer: https://docs.docker.com/compose/install/
```shell
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
```
## Start service
Start third-party service:
```shell
cd [milvus project path]/deployments/docker/cluster
docker-compose up -d
```
Start milvus cluster:
```shell
cd [milvus project path]/scripts
start_cluster.sh
```
## Run unittest
Run all unittest including go and cpp cases:
```shell
make unittest
```
You also can run go unittest only:
```shell
make test-go
```
Run cpp unittest only:
```shell
make test-cpp
```
## Run code coverage
Run code coverage including go and cpp:
```shell
make codecov
```
You also can run go code coverage only:
```shell
make codecov-go
```
Run cpp code coverage only:
```shell
make codecov-cpp
```