使用spark-connector始终无法读取Nebula Graph数据,抛出ExecuteFailedException: Execute failed: no parts succeed, error message: Unable to activate object

你好,请问你是docker部署的nebula吗?

已排查解决,谢谢

1 个赞

我是rpm方式部署,你看下我的经历看对你有帮助麽 :sweat_smile:

如果您 spark 和 nebula 在同一个单独机器上,有一个方便的方法,不需要修改 docker-compose 的配置,只需要让 spark 的容器网络和 nebula 相同就可以了,然后你就可以指定 metad 的名字 + 端口 就可以了,所有的名字都在这个容器网络里可解析可访问。(可以参考我容器部署运行 nebula exchange 的文章 Nebula LiveJournal,上手 LiveJournal 数据集导入 Nebula Graph 与图算法执行 - siwei.io

您手动修改映射端口的话,需要注意每一种服务类型的容器都在同一个机器上,端口不能冲突,所以你如果自定义外部映射里边端口的话,其中至少有两个不是默认的端口。
这解决了外部可访问的问题,但是还没解决 meta 里知道你修改了新的端口的问题,然后你需要修改 strorage 的配置,保证他的地址是你修改了端口映射的那个,这里要注意的是,这个地址要同时保证容器网络里边和外部(host)都可以访问,所以不如我上边提到的,直接用容器网络了哈,当然,缺点就是 spark 要求在 nebula 同一个机器。