Star

使用 macOS + Docker 搭建 Nebula Graph 2.0 开发环境

在本文中,我们将会介绍如何在 macOS 上用 Docker 搭建开发环境,进行编译、运行 Nebula Graph 2.0。

概述

在 Docker 镜像:vesoft/nebula-dev 中,我们提供了 Nebula Graph 的整个编译环境,支持你在本地更改源码,构建代码并在容器中进行调试。

执行以下步骤以开始快速开发:

硬件要求

具体 Nebula Graph 的运行配置要求可参考官网文档:运行配置要求

编译 Nebula Graph 2.0

在下面内容,你可以了解到使用 Nebula Graph 服务的所有操作步骤,包括了不限于如何启动 Nebula Graph 服务。

下载源码到本地

  1. 打开 Terminal,将所在目录切换到你想要安装到的路径下
  2. 执行下面命令 clone 源码:
bash> git clone https://github.com/vesoft-inc/nebula-graph.git

从 Docker Hub 获取镜像

可执行下面命令

bash> docker pull vesoft/nebula-dev

运行 Docker 容器

执行下面命令运行 Docker 容器并将本地源码目录挂载到容器工作目录 /home/nebula 中:

bash> docker run --rm -ti \
  --security-opt seccomp=unconfined \
  -v /path/to/nebula/directory:/home/nebula \
  -w /home/nebula \
  vesoft/nebula-dev \

将上面命令中的 /path/to/nebula/directory 替换为个人源码路径

如果你想每次关闭 Docker 后自动释放资源,加入 --fm 参数:

bash> docker run --rm -ti \
--security-opt seccomp=unconfined \  
-v /path/to/nebula/directory:/home/nebula \
-w /home/nebula \  
vesoft/nebula-dev \  

提示:Docker 中的路径如果没有映射到本地,在 Docker 关闭后路径内的修改将会丢失

在 Docker 容器内编译

按照下面的步骤执行:

  1. docker> mkdir build && cd build
  2. docker> cmake -DENABLE_BUILD_STORAGE=on -DCMAKE_EXPORT_COMPILE_COMMANDS=on ..

2.1 默认设置中 storage build 为 off 状态,从而缩短单元测试编译时间。
2.2 默认 Nebula Graph 安装路径为 /user/local/nebula,如果该路径的访问权,将出现以下错误信

image

2.3 如果你要更改安装路径,可在 Docker 输入以下命令:
docker> cmake -DCMAKE_INSTALL_PREFIX=user_install_path -DENABLE_BUILD_STORAGE=on -DCMAKE_EXPORT_COMPILE_COMMANDS=on ..user_install_path 替换为想要安装的路径。

  1. docker> make -jN#

3.1 将 N 替换成用来编译的硬件核数
3.2 如果 Docker 运行资源不足,会出现以下错误:

进入 Docker >> 偏好 >> 资源 可设置 Docker 的 CPU 数和内存配置

  1. docker> make install-all

启动 Nebula Graph 服务

  1. 上述步骤完成后即可在容器内启动 Nebula Graph 服务,Nebula Graph 的默认安装目录为 /usr/local/nebula/

docker> cd /usr/local/nebula

  1. 拷贝之前的 Nebula Graph 服务的配置文件
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
  1. 启动服务

docker> ./scripts/nebula.service start all
若启动成功以下信息将会出现:

运行 Nebula Graph 2.0

在下面内容,我们会介绍如何安装 Nebula Console 并且通过它连接 Nebula Graph 服务。

注意:如果要连接 Nebula Graph 服务,请先确保 Nebula Graph 服务已启动。

在 Docker 内安装 Go

  1. 使用 cd 命令切换到 Docker 中 Go 的安装路径

docker> cd

  1. 前往 Go 官网的文档:https://golang.org/doc/install,右键点击 Download Go for Linux ,复制链接地址。

  1. 在 Docker Console 中输入命令:

docker> wget LINK_ADDRESS
将 LINK_ADDRESS 替换成第二步中的链接地址

  1. 将文件解压到 into /usr/local :

tar -C /usr/local -xzf go1.15.2.linux-amd64.tar.gz

  1. /usr/local/go/bin 加入到 PATH 环境变量中

export PATH=$PATH:/usr/local/go/bin

  1. 注意:profile 文件的该病可能并不会立马生效,若想立刻生效,输入:

source $HOME/.profile

  1. 验证 Go 是否安装成功,输入:

$ go version

  1. 确认该命令输出的 Go 版本

安装 Nebula Console

详细的 Console 介绍可参考文档:https://github.com/vesoft-inc/nebula-console

  1. 按照步骤安装 Golang:https://github.com/vesoft-inc/nebula-console

  2. https://github.com/vesoft-inc/nebula-console clone 到 Docker 中并输入以下命令:

docker> cd nebula-console
docker> make
  1. 启动 Console:
docker> ./nebula-console [-address ip] [-port port] [-u user] [-p password] [-e "nGQL query statement" |  -f file.nGQL]

# default setting
# user and password are optional
docker> ./nebula-console -u root -p nebula --port 3699 --addr="127.0.0.1"

你将看到欢迎信息,如下所示:

Welcome to Nebula Graph v2.0.0-alpha!

使用 VSCode 远程 Docker 容器

下面来介绍下如何用 VSCode 远程 Docker 容器,并在容器内浏览、编辑源码文件。

  1. 在 VSCode 中安装 Docker 插件
    1. 在 Linux 环境下,非 root 用户需要激活 Docker CLI 以运行 VSCode,详见 enable Docker CLI for the non-root user account
    2. 打开插件窗 (⇧⌘X), 搜索 docker 并选择 Microsoft 开发的 Docker extension。

  1. 在 VSCode 中关联 Docker

2.1 打开 VSCode,点击侧边栏的 Docker,右键点击正在运行的容器,选择“Attach Visual Studio Code”

2.2 VSCode 文件浏览器将自动载入容器内的 Nebula Graph 路径


来开心地使用 VSCode Coding 吧~~

更多细节详见: https://code.visualstudio.com/docs/containers/overview.

Ref

4赞

:clap::clap:

1赞

:clap::clap:

1赞

浙ICP备20010487号