nebula-console查询出错

  • nebula 版本:3.0
  • 部署方式:分布式,三台物理机
  • 安装方式: RPM
  • 是否为线上版本: N
  • 硬件信息
    • 磁盘 2T HHD
    • 内存 256GB
  • 问题的具体描述
    库中大概有30亿边,27亿节点,并在节点上的tag上建立索引。根据节点的属性查询特定节点的id,如mache (n:entity{type:'1030028', value:'1409659018'}) return n
    报错
storage error:part:3, error:E_RPC_FAILURE(-3)

查看graphd日志

[StorageClientBase-inl.h:183] Request to "10.0.217.95":9779 time out: TTransportException: Timed out
[StorageClientBase-inl.h:183] Request to "10.0.217.96":9779 time out: TTransportException: Timed out
[StorageClientBase-inl.h:183] Request to "10.0.217.97":9779 time out: TTransportException: Timed out
[StorageAccessExecutor.h:41] IndexScanExecutor failed, error E_RPC_FAILURE, part 3
[StorageAccessExecutor.h:41] IndexScanExecutor failed, error E_RPC_FAILURE, part 4
[StorageAccessExecutor.h:41] IndexScanExecutor failed, error E_RPC_FAILURE, part 1
[StorageAccessExecutor.h:41] IndexScanExecutor failed, error E_RPC_FAILURE, part 2
[StorageAccessExecutor.h:41] IndexScanExecutor failed, error E_RPC_FAILURE, part 5
[StorageAccessExecutor.h:138] Storage Error: part: 3, error: E_RPC_FAILURE(-3).
[QueryInstance.cpp:131] Storage Error: part: 3, error: E_RPC_FAILURE(-3).

storaged 连不上。
1)你检查一下storaged的进程。
2)确保console、graphd、storaged三者网络互通

storaged进程没有问题,防火墙已经关闭,console、graphd、storaged三者机器互ping没有问题。
查询 match(n) return n limit 5 没有问题。


1)你的环境是HDD硬盘还是SSD硬盘?
2)如果match的数据量大可能会超时
3)你可以把timeout改长点

机械硬盘,我改一下尝试一下

将graphd.conf里面的storage_client_timeout_ms 由120000改为360000还是没啥作用,请问还有其他方法吗?

1)360000 = 360s = 6分钟 你的console是6分钟后还没出结果?记得重启
2)配置除了IP还改过哪些吗?
3)尽量使用SSD硬盘
4)match 语句中 limit一下

6分钟,就报错了。配置文件还改了data和log的存储位置。

1)match语句limit 100 看看多长时间能返回?
2)FETCH PROP ON YIELD properties(vertex); 执行一次多长时间?

从上面的match执行结果来看,你这个执行结果太大了,导致的超时。
1)评估数据量大小,设置合理的超时时间
2)通过limit限制返回数量。

1)超时时间太长,没有太大实战意义,每天有上千万数据入库,需要判断库中节点是否存在
2)我造数据的时候,不太有相同的数据。

1)你的partition有多少个?
2)entity{type:‘1030028’, value:‘1409659018’} 只有一条记录对吧?你的索引是怎么创建的?

1)5个partition
2)CREATE TAG INDEX type IF NOT EXISTS type ON entity(); REBUILD TAG INDEX type;

type = ‘1030028’ 太多了。建议value也创建索引。

没问题,我尝试一下

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