Nebula Exchange3.0.0 导入数据报Get Space execute Failed: E_LEADER_CHANGED

nebula版本: 3.2.0
Exchange版本:3.0.0
安装方式:docker
是否生产:否
硬件信息:云服务器部署
节点数量3 graph,3 meta,5 storage

问题描述:
新建了一个3副本的图,用Exchange从Hive导入数据到Nebula时,会报Get Space execute Failed: E_LEADER_CHANGED的错,尝试了调整batch,partition,rate等写入速率相关的参数没有解决问题
conf里配置的会插入多个标签,在多次实验后发现报错总是发生在一个标签插入完成后,开始进行下一个标签的插入时基本必现该报错
而且在多次尝试后,Exchange会在启动后很快就会报E_LEADER_CHANGED

connection: {
 timeout: 60000
 retry: 3
}
execution:{
 retry:3
}
error: {
 max: 32
 output: /tmp/errors
}
rate: {
 limit: 512
 timout: 60000
}
tags: [
 {
  name:phoneUser
  type: {
   source: hive
   sink: client
  }
  exec: "select ***SQL***"
   fileds: [flag]
   nebula.fields: [flag]
   vertex: {
   fields: cust
  }
   batch: 1000
   partition: 20
  }
 {
  name: phone
  type: {
   source: hive
   sink: client
  }
  exec: "select ***SQL***"
   fileds: [flag]
   nebula.fields: [flag]
   vertex: {
   fields: phone
  }
   batch: 1000
   partition: 20
  }
]


补充报错截图

3个meta节点有两个报错,另外一个节点正常
meta-0, meta-1异常


meta-2正常

你的 Hive 数据源相关的配置配置的 graphd 是多个还是单个呢?

conf里的graphd和metad都是3个节点

看下这个帖子,:thinking: 你试试再调小点导入配置参数呢?先调小点把数据导入进去之后再慢慢调大,看最佳的参数是什么样?

有两个meta节点一直在报List Hosts Failed,看起来不正常,这种可能原因是什么呢?
看起来像是exchange启动时连接了meta2可以正常处理,但是后来写入请求飘到其他两个节点就会异常

那看下你这几个 meta 服务所在的机器能不能互相通信呢?感觉如果连到其他 meta 就不能导入的话,感觉是通信有问题呀。

目前节点都重启了以后,看日志meta0正常,meta1和2还是异常的


meta0的日志一直在打印心跳

meta1和2就一直在List Hosts Failed: E_LEADER_CHANGED

其中meta0和meta1的网段是一致的,至少这两个应该是网络互通的才对吧

回溯了一下meta2 启动时的信息

exchange 需要能访问 metad 和 storaged 哈,请问咱们的 spark 是跑在 k8s 里并且和 nebulacluster 在一个 namespace 么?目前来说只有这样才比较容易做这件事儿。

是operator部署的吧,可以提供下operator日志吗,另外还有异常metad节点的日志

1 个赞

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。