删除space如何删除磁盘上得数据

  • nebula 版本:1.2.0
  • 部署方式:分布式集群部署,没有使用docker
  • 问题的具体描述
    我们drop space之后提示需要重启集群才能删除掉磁盘上得数据,但是我们得集群有多个space,一直在使用,不想重启集群影响其它space的使用,又想把磁盘上的数据删除掉,将磁盘空间释放出来,之前看了你们底层用的是rocksdb来存储,所以想的是直接删除rocksdb库的目录,但是多副本的情况就比较麻烦,还有我们存储的知识KV类型的数据,所以也没有tag和edge类型,所以无法通过删除tag和edge,再通过compact任务,所以想请教一下有什么解决办法
2 个赞

请问一下,没有tag和edge的类型的话,怎么使用啊

你可以试试下面的步骤
1、通过终端输入 desc space $spaceName, 获取该space的ID
2、进入安装目录下的data/storage/nebula 目录,然后找到和 ID一样的目录名, 该目录就是要删除space的物理位置,手动删除即可

1 个赞

我们直接用storageClient获取kv数据的,目前只做KV数据库使用,图作为下一步的应用场景,请问下desc space $spaceName能返回json数据么?我看命令行返回的是一个表格,不知道如何解析

你们是多副本吗? 要是多副本的话, 应该可以轮着重启 storage, 这样可以删掉没用的 space

目前只有一个副本,之后会搞成多副本的形式,但是我们想设计一个方案,两种形式都可以

不支持返回 json, 解析可以看下返回的是个 thrift 结构 SpaceDesc, 可以参考下 meta.thrift

1 个赞