nebula从neo4j导入数据出现Get UUID Failed错误

  • 部署方式(分布式 / 单机 / Docker / DBaaS):单机,三节点

使用spark writer 从neo4j 导入nebula时,出现错误(多次导入都错,raft leader没有切换):
ERROR AsyncGraphClientImpl:139 - execute error: Get UUID Failed
命令:

spark-submit  --class com.vesoft.nebula.tools.importer.Exchange --master "local" exchange-1.0.1.jar -c neo4j_nebula.conf

neo4j数据一个label下面的所有顶点,大概4000w+,vid是字符串类型,nebula这边vid使用uuid转化。

neo4j_nebula.conf

 tags: [

    # Loading tag from neo4j
    {
      name: test
      type: {
        source: neo4j
        sink: client
      }
      server: "bolt://xxx:7687"
      user: xxx
      password: xxx
      exec: "match (n:test) return n.vid as vid order by (n.vid)"
      fields: [vid]
      nebula.fields: [vid]
      vertex: vid
      vertex: {
        field: vid
        policy: "uuid"
      }
      partition: 10
      batch: 1000
      check_point_path: /tmp/test
    }
  ]

image
错误日志
image

新问题:用上面导入方法多次导入,现在还出现了下面错误,4000w数据只导入成功72731个

image

你执行下show hosts 看下storage的状态

看一下storage的错误日志呢

节点1


节点2

节点3

这是什么版本?

我自己下载源码编译的版本,在单台服务器部署三副本nebula
nebula version 1.1.0, Git: 2f0ec48, Build Time: Sep 28 2020 10:34:26

但是我没找到GeneratedCodeHelper.cpp这个文件

有其他错误么

我搜了下我编译的源码,也没有这个文件

看上去是你连接的storage版本不对,检查一下机器上的storage进程

我没有上传日志文件的权限。先截图部分吧,其他的跟这个图和前面的图的日志差不多

新问题:
我尝试在三台不同机器部署三副本nebula,重新导入数据,4000w导入成功9w5,报新错。。。坑好多啊。。。

你在一个节点部署三个storage,其实44500的服务内部也会有44501这个端口(每个storage内部还会用用户配置的端口号 + 1的端口),现在应该是44501这个端口有两个服务用了。所以你需要把44501那个storage的端口改下。

还有改完端口之后,你的space就需要重新创建,数据也要导入

graphd和metad有类似这种端口问题吗?

graph的用到的端口就是配置文件里面所有的;meta和storage的是因为多副本需要,所以有这个端口,这个端口的规则就是配置文件的端口–port加1.

建议这块在文档,或者配置说明里说一下,要不然很容踩坑;或者加10,加100这种,好像更容易避开,但也不是最优的办法。