求助:Nebula可以用studio连接查询,用java程序无法连接

  • nebula 版本:3.1.0
  • 部署方式:分布式
  • 安装方式:Docker默认安装(通过docker-compose方式默认安装)

问题描述:我是使用官方提供的docker-compose默认的安装方式在我局域网中的一台机器A上安装了nebula集群。在B机器上安装了nebula-studio可视化应用。然后在B上连接使用nebula服务(AB机器之间可以ping通,也可以telnet通,)。但是在B上面操作过程中发现nebula-studio可以正常登录使用各种查询语句、但是却无法使用Java客户端连接。一直报错,官方的Example也无法执行,目前还没找到原因。
希望有过此问题的帮看一下

telnet A:9669 执行截图:

nebula-studio:

Java客户端执行提示pool.init失败:

详细信息:

No extra connection: All servers are broken.  不知道为什么连不上
nebula程序中访问

com.vesoft.nebula.client.graph.exception.NotValidConnectionException: No extra connection: All servers are broken.

A B两台节点都在同一网段下,网络互通 :globe_with_meridians:

:thinking: 参考示例,加一个 9670 端口呢

不行,还是failed,连不上

你在机器b上有nebula-console吗? 可以简单验证一下用nebula console是否可以连上服务, 同时检查一下机器a的服务状态是否良好

机器B没有,机器B只有studio,studio访问A的nebula服务一切正常,但是java程序却不行。nebula-java底层需要本节点上要有console吗?源码没看过

  1. studio 和 console 的底层都是依赖 nebula go 客户端, 按理说studio能连上, 其他的客户端也能连上
  2. nebula-java 没有其他依赖, 这个报错说明指定地址没有可用服务, 一般出现于地址不正确、网络不通、服务未启动, 由于你自己排查了网络是通的那么大概率是其他两个原因导致的

浙ICP备20010487号