• 使用源码编译
    • 编译器要求
      • 支持系统版本
      • 需要的硬盘和内存空间
      • 本地构建
        • 步骤 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: 克隆代码

    1. bash> git clone https://github.com/vesoft-inc/nebula.git

    步骤 2 : 安装依赖

    • 环境能直接下载云存储 OSS 包的用户
    1. bash> cd nebula && ./build_dep.sh
    • 环境不能直接下载云存储 OSS 包的用户
    1. 从本地源下载依赖和进行配置
    1. bash> cd nebula && ./build_dep.sh N
    1. 从下面链接中下载对应版本的压缩包
    • Fedora 29/30
    • CentOS 7.0~7.6
    • CentOS 6.5
    • Ubuntu 1604
    • Ubuntu 1804
    1. 安装下载好的压缩包
    1. tar xf ${package_name}.tar.gz
    2. cd ${package_name} && ./install.sh

    步骤 3: 应用 ~/.bashrc 修改

    1. bash> source ~/.bashrc

    步骤 4A: 构建 Debug 版本

    1. bash> mkdir build && cd build
    2. bash> cmake ..
    3. bash> make
    4. bash> sudo make install

    或构建 Release 版本。

    步骤 4B: 构建 Release 版本,重新生成 Makefile

    1. bash> cmake -DCMAKE_BUILD_TYPE=Release ..
    2. bash> make
    3. bash> sudo make install

    构建完成

    • 如果没有任何错误信息

      1. [100%] Built target ....

      编译成功!

    • 在安装目录 /usr/local/nebula 下有如下四个子目录 etc/, bin/, scripts/ share/

      1. [root@centos 7.5 nebula]# ls /usr/local/nebula/
      2. bin etc scripts share

      现在可以开始运行 Nebula Graph

    启动 Nebula Graph 服务

    经过上述的安装后,便可以启动 Nebula Graph 的服务,Nebula Graph 默认的安装目录为 /usr/local/nebula

    1. bash> cd /usr/local/nebula

    重命名 Nebula Graph 服务的配置文件

    1. bash> cp etc/nebula-graphd.conf.default etc/nebula-graphd.conf
    2. bash> cp etc/nebula-metad.conf.default etc/nebula-metad.conf
    3. bash> cp etc/nebula-storaged.conf.default etc/nebula-storaged.conf

    启动服务

    1. bash> ./scripts/nebula.service start all
    2. bash> ./bin/nebula -u user -p password --port 3699 --addr "127.0.0.1"
    3. nebula> SHOW HOSTS;

    常见问题和解决方案

    • 错误信息: /usr/bin/ld: cannot find Scrt1.o: No such file or directory

      解决方案:

      步骤 1: 在 ~/.bashrc 末添加如下行

      1. export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LIBRARY_PATH

      步骤 2: 应用 ~/.bashrc 修改

      1. 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

      1. bash> sudo apt-get -y install openjdk-8-jdk

      CentOS

      1. bash> sudo yum -y install java-1.8.0-openjdk

      切换 JAVA 版本

      1. bash> sudo update-alternatives --config java

      并选择 java-1.8.0-openjdk/java-8-openjdk

    • 错误信息: internal error

      解决方案:

      你需要自己编译第三方库,第三方库的安装路径为 /opt/nebula/third-party

      步骤 1: 下载第三方库的源码包

      1. bash> wget https://nebula-graph.oss-accelerate.aliyuncs.com/third-party/nebula-3rdparty.tar.gz

      步骤 2: 解压并编译third-party

      1. bash> tar xf nebula-3rdparty.tar.gz && cd nebula-3rdparty
      2. bash> ./install_deps.sh
      3. bash> cmake ./
      4. bash> sudo make

      步骤 3: 配置项目的环境变量和其他依赖

      1. bash> cd nebula && ./build_dep.sh N
      2. bash> source ~/.bashrc
      3. bash> mkdir build && cd build
      4. bash> cmake ..
      5. bash> make