在容器内查看usr/local/nebula很多文件夹为空

提问参考模版:

  • nebula 版本:1.2
  • 部署方式(分布式 / 单机 / Docker / DBaaS):docker

我在studio成功导入数据后,想进容器内查看data/storage/这个目录的大小
结果发现分别在meta/graph/storage三个容器内查看data/目录和logs/目录发现都是空的
按理来说应该会有data/storage/和data/meta/

你是用docker-compse 部署的服务?

docker swarm部署的集群
在nebula-web-xxxx的一个文件夹里用docker compose启动的

集群里每个容器的data和logs都是空的?

是的 集群3个节点,我看了9个container。全部都是空data/和logs/

虽然是空的,但是在studio上查插入的vertex是能看到的

你看下你的 volume 挂载到哪里了,可以通过如下的命令查看你挂载的 volume,然后进入到 host 上的对应的目录再查看:

$ docker volume ls
$ docker volume inspect xxxx
[
    {
        "CreatedAt": "2019-12-24T23:50:59+08:00",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/nebula/_data",
        "Name": "nebula",
        "Options": null,
        "Scope": "local"
    }
]

进入到上述的 MountPoint 目录再看是否有数据。

1 个赞

emmm数据看起来是有的,但是是因为目录名称不一样所以容器里才是空的吗?
我分别看了meta/storage/graph的挂载目录,结构并不是data/storage和data/meta
目录结构都是_data → nebula → …(如图)

结构是什么样的跟你配置的 volume 的路径有关系,所以这个还得要看看你的配置文件怎么写的。

配置文件是按照官方给的3节点模版改的。

比如对于storaged1:
Screen Shot 2021-02-02 at 10.21.14 AM

需要把volume的名字改成什么样才能在container里看到log和data呢

你这样配置以后,进入 storage 的容器内部查看 /data/storage/logs 目录中没有数据?你确认一下 storage 的 command 有没有配置如下的选项:

https://github.com/vesoft-inc/nebula-docker-compose/blob/3d3961be3f78034b805cd53e854790a631b6c91a/docker-compose.yaml#L154-L155

有的,这个文件我只改了ip

那你在容器内部查看的目录是 /data/storage/logs 吗? 注意不是 nebula 的安装目录 /usr/local/nebula/data/usr/local/nebula/logs 目录。

破案了。。。不好意思一直看错了目录

1 个赞