Skip to content

Latest commit

 

History

History
238 lines (163 loc) · 5.43 KB

File metadata and controls

238 lines (163 loc) · 5.43 KB

使用源码编译

编译器要求

Nebula 基于 C++ 14 开发,因此它需要一个支持 C++ 14 的编译器。

支持系统版本

  • Fedora 29, 30
  • CentOS 6.5, CentOS 7.0 ~ 7.6
  • Ubuntu 16.04, 18.04

需要的存储空间

当编译类型为 Debug 的时候,最好预留 30G 磁盘空间

本地构建

步骤 1: 克隆代码

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

步骤 2 : 安装依赖

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

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

bash> source ~/.bashrc

步骤 4: 构建 Debug 版本

bash> mkdir build && cd build
bash> cmake ..
bash> make
bash> sudo make install

构建 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

启动 nebula 服务

经过上述的安装后,便可以在容器内部启动 nebula 的服务,nebula 默认的安装目录为 /usr/local/nebula

docker> cd /usr/local/nebula

重命名 nebula 服务的配置文件

docker> cp etc/nebula-graphd.conf.default etc/nebula-graphd.conf
docker> cp etc/nebula-metad.conf.default etc/nebula-metad.conf
docker> cp etc/nebula-storaged.conf.default etc/nebula-storaged.conf

启动服务

docker> ./scripts/nebula.service start all
docker> ./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

    sudo apt-get -y install openjdk-8-jdk

    CentOS

    sudo yum -y install java-1.8.0-openjdk
    1. ~/.bashrc 末添加

    Ubuntu

    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
    export JRE_HOME=$JAVA_HOME/jre
    export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

    CentOS

    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
    export JRE_HOME=$JAVA_HOME/jre
    export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
  • 错误信息: 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