使用源码安装NebulaGraphGraph
使用源码安装NebulaGraph允许您自定义编译和安装设置,并测试最新特性。
前提条件Graph
- 已准备正确的编译环境。详情请参见Graph。
- 待安装NebulaGraph的主机可以访问互联网。
安装步骤Graph
-
克隆NebulaGraph源码到主机。
- 如果需要安装最新版本的开发代码,请执行如下命令下载
master
分支的源码:```bash $ git clone https://github.com/vesoft-inc/nebula-graph.git ```
- 如果需要安装指定版本的NebulaGraph 2.x,请使用选项
--branch
指定分支。例如安装2.0.0 发布版本,请执行如下命令:```bash $ git clone --branch v2.0.0 https://github.com/vesoft-inc/nebula-graph.git ```
-
进入目录
nebula-graph
。$ cd nebula-graph
-
创建目录
build
并进入该目录。$ mkdir build && cd build
-
使用CMake生成makefile文件。
说明:
- 默认安装路径为
/user/local/nebula
,如果需要修改路径,请在下方命令内增加参数-DCMAKE_INSTALL_PREFIX=<installation_path>
。 - 更多CMake参数说明,请参见Graph。
- 如果您在第1步下载的是最新版本的开发代码,请执行如下命令:
```bash $ cmake -DENABLE_BUILD_STORAGE=on -DENABLE_TESTING=OFF -DCMAKE_BUILD_TYPE=Release .. ```
- 如果您在第1步下载的是指定版本的NebulaGraph 2.x,请使用选项
-DNEBULA_COMMON_REPO_TAG
和-DNEBULA_STORAGE_REPO_TAG
指定相同的Graph分支。例如安装2.0.0 GA版本,请执行如下命令:```bash $ cmake -DENABLE_BUILD_STORAGE=on -DENABLE_TESTING=OFF -DCMAKE_BUILD_TYPE=Release \ -DNEBULA_COMMON_REPO_TAG=v2.0.0 -DNEBULA_STORAGE_REPO_TAG=v2.0.0 .. ```
- 默认安装路径为
-
编译NebulaGraph。
为了适当地加快编译速度,可以使用选项
-j
并行编译。并行数量N
建议为$min(CPU核数,\frac{内存(GB)}{2})$。6. 安装NebulaGraph。$ make -j{N}
$ sudo make install-all
-
(可选)更新
master
分支的源码,因为它经常更新。1. 在目录
nebula-graph/
中,执行命令git pull upstream master
更新源码。2. 在目录
nebula-graph/modules/common/
和nebula-graph/modules/storage/
中,分别执行命令git pull upstream master
。3. 在目录
nebula-graph/build/
中,重新执行make -j{N}
和make install-all
。
下一步Graph
- Graph
- Graph
- Graph
CMake参数Graph
使用方法Graph
$ cmake -D<variable>=<value> ...
下文的CMake参数可以在配置(CMake)阶段用来调整编译设置。
ENABLE_BUILD_STORAGEGraph
从2.0.0版本开始,NebulaGraph的graph和storage代码仓库分离,可以各自单独编译。ENABLE_BUILD_STORAGE
默认值为OFF
,表示Storage服务不会和Graph服务一起安装。
如果您单机部署NebulaGraph进行测试,可以设置ENABLE_BUILD_STORAGE=ON
,安装时会自动下载和安装Storage服务。
CMAKE_INSTALL_PREFIXGraph
CMAKE_INSTALL_PREFIX
指定NebulaGraph服务模块、脚本和配置文件的安装路径,默认路径为/usr/local/nebula
。
ENABLE_WERRORGraph
ENABLE_WERROR
默认值为ON
,表示将所有警告(warning)变为错误(error)。如果有必要,您可以设置为OFF
。
ENABLE_TESTINGGraph
ENABLE_TESTING
默认值为ON
,表示单元测试服务由NebulaGraph服务构建。如果您只需要服务模块,可以设置为OFF
。
ENABLE_ASANGraph
ENABLE_ASAN
默认值为OFF
,表示关闭内存问题检测工具ASan(AddressSanitizer)。该工具是为NebulaGraph开发者准备的,如果需要开启,可以设置为ON
。
MAKE_BUILD_TYPEGraph
MAKE_BUILD_TYPE
控制NebulaGraph的build方法,取值说明如下:
Debug
MAKE_BUILD_TYPE
的默认值,build过程中只记录debug信息,不使用优化选项。
Release
build过程中使用优化选项,不记录debug信息。
RelWithDebInfo
build过程中既使用优化选项,也记录debug信息。
MinSizeRel
build过程中仅通过优化选项控制代码大小,不记录debug信息。
CMAKE_C_COMPILER/CMAKE_CXX_COMPILERGraph
通常情况下,CMake会自动查找并使用主机上的C/C++编译器,但是如果编译器没有安装在标准路径,或者您想使用其他编译器,请执行如下命令指定目标编译器的安装路径:
$ cmake -DCMAKE_C_COMPILER=<path_to_gcc/bin/gcc> -DCMAKE_CXX_COMPILER=<path_to_gcc/bin/g++> ..
$ cmake -DCMAKE_C_COMPILER=<path_to_clang/bin/clang> -DCMAKE_CXX_COMPILER=<path_to_clang/bin/clang++> ..
ENABLE_CCACHEGraph
ENABLE_CCACHE
默认值为ON
,表示使用ccache(compiler cache)工具加速编译。
如果想要禁用ccache,仅仅设置ENABLE_CCACHE=OFF
是不行的,因为在某些平台上,ccache会代理当前编译器,因此您还需要设置环境变量export CCACHE_DISABLE=true
,或者在文件~/.ccache/ccache.conf
中添加disable=true
。更多信息请参见Graph。
NEBULA_THIRDPARTY_ROOTGraph
NEBULA_THIRDPARTY_ROOT
指定第三方软件的安装路径,默认路径为/opt/vesoft/third-party
。