Nebula2.0部署失败

版本:Nebula2.0.0-rc1
部署包:https://github.com/vesoft-inc/nebula-graph/releases/download/v2.0.0-rc1/nebula-graph-2.0.0-rc1.ubuntu1604.amd64.deb
安装之后直接启动nebula能成功,将etc目录下的nebula-metad.conf配置文件中的127.0.0.1修改为本机ip之后启动nebula服务,meta和storage服务启动失败,graph服务启动成功
meta服务日志:E0317 14:45:32.065266 6328 RaftPart.cpp:1143] [Port: 9560, Space: 0, Part: 0] Receive response about askForVote from [ip:9560], error code is -9
storage服务日志:
E0317 18:10:17.416676 13897 MetaClient.cpp:581] Send request to [ip:9559], exceed retry limit
E0317 18:10:17.417222 13856 MetaClient.cpp:60] Heartbeat failed, status:RPC failure in MetaClient: N6apache6thrift9transport19TTransportExceptionE: AsyncSocketException: connect failed, type = Socket not open, errno = 111 (Connection refused): Connection refused

你可以把metad的配置截图下吗?还有metad的日志整个贴出来。


image

贴 info的日志,看这个日志,服务没有起不来。

后面重复打印是正常的,metad会周期收到graphd和storaged的心跳,看你这个日志,metad是启动成功了,请问你是怎么认为服务没有启动成功。
还有storage打印
Heartbeat failed, status:RPC failure in MetaClient: N6apache6thrift9transport19TTransportExceptionE: AsyncSocketException: connect failed, type = Socket not open, errno = 111 (Connection refused): Connection refused
也是正常的,一开始metad还没ready,所以会打印这个。后面ready就不打印,你通过metad的日志也可以看到storaged已经正常连接上metad并发送心跳。

image
因为查看服务状态的时候meta和storage服务端口是红色的,而且还在闪烁

日志打印都已经正常监听9559这个端口了,而且metad已经成功收到graphd和storaged的心跳,你现在通过脚本看到还是红色吗?假如还是,说明脚本有问题,你通过console连接服务应该是能正常访问的

现在好了,但是我并没有修改任何文件,只是单纯的将服务停止之后又重新启动了一遍

服务启动需要点时间,加上第一次启动的时候,心跳检测时差的原因,可能会造成初期一段时间看起来服务没启动的样子。

建议通过console连接graph服务,执行show hosts或者show hosts meta来查看storage和meta的运行状况,都online的情况下,就没问题了

集群部署成功了,下载nebula-console报错
sudo docker run --rm -ti --network nebula-docker-compose_nebula-net --entrypoint=/bin/sh vesoft/nebula-console:v2-nightly
执行报错:docker: Error response from daemon: network nebula-docker-compose_nebula-net not found.

docker版本的console需要和docker-compose服务一起用,你可以下载console的binary文件进行使用,下载链接 https://github.com/vesoft-inc/nebula-console/releases/tag/v2.0.0-rc1
你也可以通过源码编译使用,具体看https://github.com/vesoft-inc/nebula-console/tree/v2.0.0-rc1,
但是要注意版本和服务端相匹配。

image
在nebula-console中执行ShortPath算法能得到正确的结果
.


通过Java连接执行同样的语句得到的ResultSet则是Collecting data…
请问这是什么情况?

pom依赖:

com.vesoft
client
2.0.0-rc1

连接代码:

你是一直没有返回结果吗?确认下java client的版本和服务端是否对应的,假如接口不对应,可能会hung住

版本是对应的,都是2.0.0-rc1版本。
我执行Go M TO N语句能正常返回,但是执行ShortestPath就会这样,你可以尝试复现一下这个过程看是否和我一样无法得到结果

您好,感谢您的反馈,是toString有问题,死循环了,你先不用打印,直接读值,我这边尽快修复。

pr: https://github.com/vesoft-inc/nebula-java/pull/276

并未打印,无法直接读值,亦或者我读值语句存在问题。
通过session.execute(stmt)得到ResultSet结果之后通过哪些API能获取到正确的结果?
当前获取结果的API:(result.getRows().get(0).getValues().get(0).getPVal().getSteps().size - 1) / 2,获取到的结果都是0,是否是该API获取存在问题

这个直接拿服务端的数据,没有任何处理的,你可以参考
https://github.com/vesoft-inc/nebula-java/blob/master/client/src/test/java/com/vesoft/nebula/client/graph/data/TestDataFromServer.java里面 path的测试

(result.getRows().get(0).getValues().get(0).getPVal().getSteps().size - 1) / 2 通过你上面的查询,你的step就是1,这样出来的就是0,所以你这样做的目的是什么

step结果确实是1,但是path得到的结果是start - [edge] → end,是由多个部分组成的,所以需要这样处理才能的带正确的step

浙ICP备20010487号