diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 626a66ea25..16ea039141 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -19,7 +19,8 @@ Milvus is written in Go and C++, compiling it can use a lot of resources. We rec In fact, all Linux distributions is available to develop Milvus. The following only contains commands on Ubuntu, because we mainly use it. If you develop Milvus on other distributions, you are welcome to improve this document. -#### Debian/Ubuntu +#### Dependencies +- Debian/Ubuntu ```shell sudo apt update @@ -29,6 +30,21 @@ sudo apt install -y build-essential ccache gfortran \ libboost-filesystem-dev libboost-serialization-dev libboost-python-dev ``` +- CentOS + +```shell +sudo yum install -y epel-release centos-release-scl-rh \ + && sudo yum install -y make automake openssl-devel zlib-devel tbb-devel \ + libcurl-devel python3-devel boost-devel boost-python \ + devtoolset-7-gcc devtoolset-7-gcc-c++ devtoolset-7-gcc-gfortran \ + llvm-toolset-7.0-clang llvm-toolset-7.0-clang-tools-extra + +echo "source scl_source enable devtoolset-7" | sudo tee -a /etc/profile.d/devtoolset-7.sh +echo "source scl_source enable llvm-toolset-7.0" | sudo tee -a /etc/profile.d/llvm-toolset-7.sh +echo "export CLANG_TOOLS_PATH=/opt/rh/llvm-toolset-7.0/root/usr/bin" | sudo tee -a /etc/profile.d/llvm-toolset-7.sh +source "/etc/profile.d/llvm-toolset-7.sh" +``` + Once you have finished, confirm that `gcc` and `make` are installed: ```shell @@ -100,16 +116,19 @@ Milvus uses Python SDK to write test cases to verify the correctness of Milvus f #### Standalone ```shell -cd deployments/docker/standalone +cd deployments/docker/dev docker-compose up -d cd ../../../ -./bin/milvus run standalone +./scripts/start_standalone.sh ``` #### Cluster ```shell -./scripts/start.sh +cd deployments/docker/dev +docker-compose up -d +cd ../../../ +./scripts/start_cluster.sh ``` To run E2E tests, use these command: diff --git a/INSTALL.md b/INSTALL.md deleted file mode 100644 index 8e8bf6d33d..0000000000 --- a/INSTALL.md +++ /dev/null @@ -1,76 +0,0 @@ -# Build and Start Milvus from Source Code - -This article describes how to build and start Milvus Standalone and Cluster from source code. - -- [Prerequisites](#prerequisites) -- [Build Milvus](#build-milvus) -- [Start Milvus](#start-milvus) - -## Prerequisites - -Install the following before building Milvus from source code. - -- [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) for version control. -- [Golang](https://golang.org/doc/install) version 1.15 or higher and associated toolkits. -- [CMake](https://cmake.org/install/) version 3.14 or higher for compilation. -- [OpenBLAS](https://github.com/xianyi/OpenBLAS/wiki/Installation-Guide) (Basic Linear Algebra Subprograms) library version 0.3.9 or higher for matrix operations. - - - -## Build Milvus - -1. Clone Milvus' GitHub repository: - -``` -$ cd /home/$USER -$ git clone https://github.com/milvus-io/milvus.git -``` - -2. Install third-party dependencies: - -``` -$ cd milvus -$ ./scripts/install_deps.sh -``` - -3. Compile executed binary for Milvus: - -``` -$ make milvus -``` - -## Start Milvus - -1. Start infrastructure services: - -``` -$ cd /home/$USER/milvus/deployments/docker/dev -$ sudo docker-compose up -d -``` - -2. Start Milvus: - -- For Milvus Standalone - -``` -$ cd /home/$USER/milvus -./bin/milvus run standalone > /tmp/standalone.log 2>&1 & -``` - -- For Milvus Cluster: - -``` -$ cd /home/$USER/milvus -#start RootCoord -./bin/milvus run rootcoord > /tmp/rootcoord.log 2>&1 & -#start coord -./bin/milvus run datacoord > /tmp/datacoord.log 2>&1 & -./bin/milvus run indexcoord > /tmp/indexcoord.log 2>&1 & -./bin/milvus run querycoord > /tmp/querycoord.log 2>&1 & -#start node -./bin/milvus run proxy > /tmp/proxy.log 2>&1 & -./bin/milvus run datanode > /tmp/data_node.log 2>&1 & -./bin/milvus run indexnode > /tmp/index_node.log 2>&1 & -./bin/milvus run querynode > /tmp/query_node.log 2>&1 & -``` - diff --git a/README.md b/README.md index 6c15947bdf..76a93363c3 100644 --- a/README.md +++ b/README.md @@ -14,8 +14,8 @@
- - + + @@ -84,62 +84,29 @@ Milvus was released under the [open-source Apache License 2.0](https://github.co -## Installation +## Quick start -### Install Milvus Standalone +### To start using Milvus -#### Install with Docker-Compose +- [Standalone Quick Start Guide](https://milvus.io/docs/v2.0.0/install_standalone-docker.md) +- [Cluster Quick Start Guide](https://milvus.io/docs/v2.0.0/install_cluster-docker.md) -> Coming soon. - -#### Install with Helm - - - -> Coming soon. - -Build from source code +### To start developing Milvus ```bash # Clone github repository. -$ cd /home/$USER/ $ git clone https://github.com/milvus-io/milvus.git # Install third-party dependencies. -$ cd /home/$USER/milvus/ +$ cd milvus/ $ ./scripts/install_deps.sh -# Compile Milvus standalone. -$ make milvus +# Compile Milvus. +$ make ``` - - -### Install Milvus Cluster - -#### Install with Docker-Compose - -> Coming soon. - -#### Install with Helm - -> Coming soon. - -Build from source code - -```bash -# Clone github repository. -$ cd /home/$USER -$ git clone https://github.com/milvus-io/milvus.git - -# Install third-party dependencies. -$ cd milvus -$ ./scripts/install_deps.sh - -# Compile Milvus Cluster. -$ make milvus -``` +For the full story, see [developer's documentation](https://github.com/milvus-io/milvus/blob/master/DEVELOPMENT.md). > **IMPORTANT** The master branch is for the development of Milvus v2.0. On March 9th, 2021, we released Milvus v1.0, the first stable version of Milvus with long-term support. To use Milvus v1.0, switch to [branch 1.0](https://github.com/milvus-io/milvus/tree/1.0). diff --git a/README_CN.md b/README_CN.md index 29e666fd09..99a8889d6f 100644 --- a/README_CN.md +++ b/README_CN.md @@ -14,8 +14,8 @@
- - + + @@ -85,61 +85,30 @@ Milvus 基于 [Apache 2.0 License](https://github.com/milvus-io/milvus/blob/mast -## 安装 +## 快速开始 -### 安装 Milvus 单机版 +### 开始使用 Milvus -#### 使用 Docker-Compose 安装 +- [Standalone Quick Start Guide](https://milvus.io/cn/docs/v2.0.0/install_standalone-docker.md) -> 敬请期待。 +- [Cluster Quick Start Guide](https://milvus.io/cn/docs/v2.0.0/install_cluster-docker.md) -#### 使用 Helm Chart 安装 -> 敬请期待。 - -从源码编译 Milvus +### 开发 Milvus ```bash # Clone github repository. -$ cd /home/$USER/ $ git clone https://github.com/milvus-io/milvus.git # Install third-party dependencies. -$ cd /home/$USER/milvus/ +$ cd milvus/ $ ./scripts/install_deps.sh # Compile Milvus standalone. $ make milvus ``` - - -### 安装 Milvus 分布式版 - -#### 使用 Docker-Compose 安装 - - - -> 敬请期待。 - -#### 使用 Helm Chart 安装 - -> 敬请期待。 - -从源码编译 Milvus - -```bash -# Clone github repository. -$ cd /home/$USER -$ git clone https://github.com/milvus-io/milvus.git - -# Install third-party dependencies. -$ cd milvus -$ ./scripts/install_deps.sh - -# Compile Milvus Cluster. -$ make milvus -``` +获取更多内容,请阅读 [开发者文档](https://github.com/milvus-io/milvus/blob/master/DEVELOPMENT.md) > **注意** 主分支用于 Milvus v2.0 代码开发。Milvus v1.0 于 2021 年 3 月 9 日发布,是 Milvus 的首个长期支持(LTS)版本。如需使用 Milvus 1.0,请切换至 [1.0 分支](https://github.com/milvus-io/milvus/tree/1.0)。 diff --git a/scripts/start.sh b/scripts/start.sh deleted file mode 100755 index 3bf9622997..0000000000 --- a/scripts/start.sh +++ /dev/null @@ -1,25 +0,0 @@ -cd .. - -echo "starting rootcoord" -nohup ./bin/milvus run rootcoord > ~/rootcoord.log 2>&1 & - -echo "starting datacoord" -nohup ./bin/milvus run datacoord > ~/datacoord.log 2>&1 & - -echo "starting datanode" -nohup ./bin/milvus run datanode > ~/datanode.log 2>&1 & - -echo "starting proxy" -nohup ./bin/milvus run proxy > ~/proxy.log 2>&1 & - -echo "starting querycoord" -nohup ./bin/milvus run querycoord > ~/querycoord.log 2>&1 & - -echo "starting querynode1" -nohup ./bin/milvus run querynode > ~/querynode1.log 2>&1 & - -echo "starting indexcoord" -nohup ./bin/milvus run indexcoord > ~/indexcoord.log 2>&1 & - -echo "starting indexnode" -nohup ./bin/milvus run indexnode > ~/indexnode.log 2>&1 & diff --git a/scripts/start_cluster.sh b/scripts/start_cluster.sh new file mode 100755 index 0000000000..cea516c37c --- /dev/null +++ b/scripts/start_cluster.sh @@ -0,0 +1,25 @@ +cd .. + +echo "starting rootcoord" +nohup ./bin/milvus run rootcoord > /tmp/rootcoord.log 2>&1 & + +echo "starting datacoord" +nohup ./bin/milvus run datacoord > /tmp/datacoord.log 2>&1 & + +echo "starting datanode" +nohup ./bin/milvus run datanode > /tmp/datanode.log 2>&1 & + +echo "starting proxy" +nohup ./bin/milvus run proxy > /tmp/proxy.log 2>&1 & + +echo "starting querycoord" +nohup ./bin/milvus run querycoord > /tmp/querycoord.log 2>&1 & + +echo "starting querynode" +nohup ./bin/milvus run querynode > /tmp/querynode.log 2>&1 & + +echo "starting indexcoord" +nohup ./bin/milvus run indexcoord > /tmp/indexcoord.log 2>&1 & + +echo "starting indexnode" +nohup ./bin/milvus run indexnode > /tmp/indexnode.log 2>&1 & \ No newline at end of file diff --git a/scripts/start_standalone.sh b/scripts/start_standalone.sh new file mode 100755 index 0000000000..2b9e12c029 --- /dev/null +++ b/scripts/start_standalone.sh @@ -0,0 +1,4 @@ +cd .. + +echo "starting standalone" +nohup ./bin/milvus run standalone > /tmp/standalone.log 2>&1 & \ No newline at end of file