- 使用源码编译
- 编译器要求
- 支持系统版本
- 需要的硬盘和内存空间
- 本地构建
- 步骤 1: 克隆代码
- 步骤 2 : 安装依赖
- 步骤 3: 应用 ~/.bashrc 修改
- 步骤 4A: 构建 Debug 版本
- 步骤 4B: 构建 Release 版本,重新生成 Makefile
- 构建完成
- 启动 Nebula Graph 服务
- 常见问题和解决方案
- 编译器要求
使用源码编译
编译器要求
Nebula Graph 基于 C++ 14 开发,因此它需要一个支持 C++ 14 的编译器。
支持系统版本
- Fedora 29, 30
- CentOS 6.5, CentOS 7.0 ~ 7.6
- Ubuntu 16.04, 18.04
需要的硬盘和内存空间
当编译类型为 Debug 的时候,最好预留 50G 的 SSD 硬盘空间。
并提供至少 8GB 的内存。
本地构建
步骤 1: 克隆代码
bash> git clone https://github.com/vesoft-inc/nebula.git
步骤 2 : 安装依赖
- 环境能直接下载云存储 OSS 包的用户
bash> cd nebula && ./build_dep.sh
- 环境不能直接下载云存储 OSS 包的用户
- 从本地源下载依赖和进行配置
bash> cd nebula && ./build_dep.sh N
- 从下面链接中下载对应版本的压缩包
- Fedora 29/30
- CentOS 7.0~7.6
- CentOS 6.5
- Ubuntu 1604
- Ubuntu 1804
- 安装下载好的压缩包
tar xf ${package_name}.tar.gz
cd ${package_name} && ./install.sh
步骤 3: 应用 ~/.bashrc 修改
bash> source ~/.bashrc
步骤 4A: 构建 Debug 版本
bash> mkdir build && cd build
bash> cmake ..
bash> make
bash> sudo make install
或构建 Release 版本。
步骤 4B: 构建 Release 版本,重新生成 Makefile
bash> cmake -DCMAKE_BUILD_TYPE=Release ..
bash> make
bash> sudo make install
构建完成
如果没有任何错误信息
[100%] Built target ....
编译成功!
在安装目录 /usr/local/nebula 下有如下四个子目录 etc/, bin/, scripts/ share/
[root@centos 7.5 nebula]# ls /usr/local/nebula/
bin etc scripts share
现在可以开始运行 Nebula Graph 。
启动 Nebula Graph 服务
经过上述的安装后,便可以启动 Nebula Graph 的服务,Nebula Graph 默认的安装目录为 /usr/local/nebula
bash> cd /usr/local/nebula
重命名 Nebula Graph 服务的配置文件
bash> cp etc/nebula-graphd.conf.default etc/nebula-graphd.conf
bash> cp etc/nebula-metad.conf.default etc/nebula-metad.conf
bash> cp etc/nebula-storaged.conf.default etc/nebula-storaged.conf
启动服务
bash> ./scripts/nebula.service start all
bash> ./bin/nebula -u user -p password --port 3699 --addr "127.0.0.1"
nebula> SHOW HOSTS;
常见问题和解决方案
错误信息:
/usr/bin/ld: cannot find Scrt1.o: No such file or directory
解决方案:
步骤 1: 在 ~/.bashrc 末添加如下行
export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LIBRARY_PATH
步骤 2: 应用 ~/.bashrc 修改
bash> source ~/.bashrc
错误信息:
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
解决方案: 1) 运行
java -version
来获取 jdk 版本信息 2) 如果你的 jdk 版本不是1.8.0_xxx
,请安装Ubuntu
bash> sudo apt-get -y install openjdk-8-jdk
CentOS
bash> sudo yum -y install java-1.8.0-openjdk
切换 JAVA 版本
bash> sudo update-alternatives --config java
并选择
java-1.8.0-openjdk/java-8-openjdk
错误信息:
internal error
解决方案:
你需要自己编译第三方库,第三方库的安装路径为 /opt/nebula/third-party
步骤 1: 下载第三方库的源码包
bash> wget https://nebula-graph.oss-accelerate.aliyuncs.com/third-party/nebula-3rdparty.tar.gz
步骤 2: 解压并编译third-party
bash> tar xf nebula-3rdparty.tar.gz && cd nebula-3rdparty
bash> ./install_deps.sh
bash> cmake ./
bash> sudo make
步骤 3: 配置项目的环境变量和其他依赖
bash> cd nebula && ./build_dep.sh N
bash> source ~/.bashrc
bash> mkdir build && cd build
bash> cmake ..
bash> make