02-基于DockerCompose安装Nebula Graph 3.0.0

2022-08-24 08:31:29 浏览数 (1)

Centos7安装Docker

安装

代码语言:javascript复制
yum install -y yum-utils 
           device-mapper-persistent-data 
           lvm2 --skip-broken
# 设置docker镜像源
yum-config-manager 
    --add-repo 
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

yum makecache fast
yum install -y docker-ce

FAQ

第一次安装失败了

再次执行 yum install -y docker-ce

ok

卸载(额外攻略)

代码语言:javascript复制
yum remove docker 
                  docker-client 
                  docker-client-latest 
                  docker-common 
                  docker-latest 
                  docker-latest-logrotate 
                  docker-logrotate 
                  docker-selinux 
                  docker-engine-selinux 
                  docker-engine 
                  docker-ce

启动

关闭防火墙

代码语言:javascript复制
# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
systemctl start docker  # 启动docker服务

systemctl stop docker  # 停止docker服务

systemctl restart docker  # 重启docker服务
docker -v

Centos7安装DockerCompose

下载

代码语言:javascript复制
# 安装
curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

修改文件权限

代码语言:javascript复制
# 修改权限
chmod  x /usr/local/bin/docker-compose

Base自动补全命令

代码语言:javascript复制
echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts
# 补全命令
curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose

Centos7安装Git

代码语言:javascript复制
yum install git
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc-c   perl-ExtUtils-MakeMaker

docker安装 nebula-graph

代码语言:javascript复制
git clone -b v3.0.0 https://github.com/vesoft-inc/nebula-docker-compose.git

可能是网络问题我一直访问不通, 最后只能自己去网上下载并上传到Centos7

cd 进入到文件夹后执行

代码语言:javascript复制
docker-compose up -d

这个网络很不稳定, 建议多试几次

此时Nebula Graph就已经安装好了,单是还不能创建空间,从 3.0 开始,上报到 metad 的 nebula-storaged 服务需要人为 ADD HOSTS 之后才可以被使用。

使用 Nebula Console 镜像启动一个容器,并连接到 Nebula Graph 服务所在的网络

代码语言:javascript复制
docker run --rm -ti --network nebula-docker-compose_nebula-net --entrypoint=/bin/sh vesoft/nebula-console:v3.0.0

本地网络可能和示例中的nebula-docker-compose_nebula-net不同,请使用如下命令查看。

代码语言:javascript复制
$ docker network  ls
NETWORK ID          NAME                               DRIVER              SCOPE
a74c312b1d16        bridge                             bridge              local
dbfa82505f0e        host                               host                local
ed55ccf356ae        nebula-docker-compose_nebula-net   bridge              local
93ba48b4b288        none                               null                local

用户名密码 我采用的是 root 123456 我的root账号

代码语言:javascript复制
nebula-console -u <user_name> -p <password> --address=graphd --port=9669

默认情况下,身份认证功能是关闭的,只能使用已存在的用户名(默认为root)和任意密码登录。如果想使用身份认证,请参见身份认证。

执行如下命令将 nebula-storaged 进程增加为可用状态。

代码语言:javascript复制
ADD HOSTS "storaged0":9779,"storaged1":9779,"storaged2":9779;

我的直接报错, 已存在, 不知道为啥

查看HOSTS

查看服务和端口

代码语言:javascript复制
docker-compose ps

现在 Nebula Graph 就已经可以使用了,比如创建一个 space 空间 abc:

代码语言:javascript复制
create space bxc(partition_num=15, replica_factor=1, vid_type=fixed_string(30));

查看所有 space :

代码语言:javascript复制
show spaces;

下面开始安装 Nebula Graph Studio ,让我们更方便的对 Nebula Graph 操作。

Centos7安装 Nebula Graph Studio

下载 docker-compose.yum 文件

代码语言:javascript复制
wget https://oss-cdn.nebula-graph.com.cn/nebula-graph-studio/3.2.2/nebula-graph-studio-v3.2.2.tar.gz
tar -zxvf nebula-graph-studio-v3.2.2.tar.gz
docker-compose up -d

启动完成后,在浏览器访问:http://ip address:7001,进入后,会提示配置数据库:

创建 tag 和边

代码语言:javascript复制
create tag team(team_name string, persion_num int);
create tag game(name string);
create edge info(num int);

添加定点 和 边:

代码语言:javascript复制
insert vertex team(team_name, persion_num) values "team_1":("team_1", 42);
insert vertex game(name) values "game_1":("game_1");
insert edge info(num) values "team_1" -> "game_1":(95);

查询关系

代码语言:javascript复制
GO FROM "team_1" OVER info yield id($$);

环境已经ok

0 人点赞