Star

Java Client v2.0 ScanVertex报错

  • nebula 版本:v2.0.0 rc-1
  • client:Java client master分支自行编译
  • 部署方式:单机
  • 问题的具体描述

在执行ScanVertex时报错

调试了一下,出问题的地方应该是这里

是否JavaClient2.0还没有正式兼容VertexScan?我看测试用例StorageClientTest里连的还是45500(v1.0的端口)

以下是我的测试代码

StorageClient client = new StorageClient("172.16.100.100", 9559);
client.connect();
return client;
public void scanVertex(String space, String tag, int limits, Consumer<VertexRow> action) throws Exception {
        ScanVertexResultIterator iterator = storageClient.scanVertex(space, tag, limits);
        while (iterator.hasNext()) {
            ScanVertexResult result = iterator.next();
            List<VertexRow> vertices = result.getVertices();
            vertices.forEach(action);
        }
    }

你执行下show hosts截图

我想我大概明白你的意思了

不过怎么改不是很清楚,可以麻烦指导一下么

看着是连不上storage,你现在通过console能正常读到数据吗?

可以正常通过console连接,并读取数据

我怀疑是因为metad返回的storaged host是127.0.0.1,而我的客户端和nebula并不在一台机器上,因此通过127.0.0.1:9779无法建立和storaged的连接

所以我是否需要修改storaged的这项参数?
image

那肯定呀,你用的是127.0.0.1,不在同个机子肯定访问不了。你改了这个ip,你的数据也就读不了了,需要重新导入。数据和storage的ip端口是有关联的,你改了ip,原来的数据就关联不到可用的storage,除非你重新导入数据。

我特意看你前面介绍背景写单机,我也就自以为你在一台机器上做所有操作。 :rofl:

单机指的是nebula的部署模式嘛,其实大部分情况下client不会和server放一起的 :joy:

修改storaged host之后原数据还在,需要手动清除吗?

现在所有操作都会返回[ERROR (-8)]: Request to storage failed, without failedCodes. 也无法create space

你操作原来的数据肯定都会报这个错的,你要不就先停掉服务,把data删除了,然后再启动,旧的数据也就没了。

我删除data,重启服务并重打数据了数据,已经能够正常Scan了,但是返回的vertex中缺少props,只有_vid

storageClient.scanVertex("test", "intranet_ip", 10000)

数据本身应该是ok的
image

match(v:intranet_ip{ip:"172.16.100.100"}) return v

image

不设置returnCols,默认返回vid,你要拿哪些属性,指定下属性名,通过传进returnCols

可以了,多谢~

浙ICP备20010487号