重提Exchange导入数据报Get Space execute Failed:E_LEADER_CHANGED的解决方法

nebula版本: 3.2.0
Exchange版本:3.0.0
安装方式:docker
是否生产:否
硬件信息:云服务器部署
节点数量3 graph,3 meta,5 storage
问题描述:
之前提交了一个问题帖子: Nebula Exchange3.0.0 导入数据报Get Space execute Failed: E_LEADER_CHANGED - 问答 / 问题 - NebulaGraph 技术社区 (nebula-graph.com.cn)

后面忙其他的事情去了没有跟进,转头去看的时候发现已结帖无法回复了,最近捡起这个事情又遇到了相同的问题,所以再开个帖子来问下
正好最近看到了另一个帖子在说一个flink connector连接nebula报类似问题,最后帖主给出的结论是
应用连接到从节点时,从节点会返回主节点的内部IP,之后应用连接此内部IP不通会造成最终抛LEADER_CHANGE异常

结合上个我提交的问题帖末尾大佬给出的答案似乎也在说运行exchange的spark要与nebula集群同集群同命名空间,同集群就可以内网IP通信了嘛

但是实际情况中spark并不总是与nebula同集群,这种情况下请教下有无解决该问题的变通方法呢?

你可以通过console 先查出nebulagraph服务的leader meta,然后在exchange的配置文件中只配置leader meta的地址,不要配多个地址。这样就不存在 再次访问服务内部返回出来的内部ip的情况了。

查看meta leader 的查询命令:
show meta leader

1 个赞

目前就是这么维持着,三个meta节点在配置连接时只配置一个主节点,这样在一般写入时没有遇到问题,但是这种总感觉不优雅,而且偶尔meta挂了重启还会换主,所以想寻求一种更好的办法。 :grin:

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