Java client导入的时候出现All servers are broken

记得按照下面模版提需求哟

Java单线程插入数据的时候出现All servers are broken

  • nebula 版本:nebula-graph-2.0.1.el7.x86_64.rpm
  • 部署方式:一台虚拟机单机 ,nebula用的配置是默认配置,虚拟机按照官方推荐的设置的
  • 问题的具体描述
    Java client 单线程插入数据的时候出现
All servers are broken;(
NebulaPoolConfig nebulaPoolConfig = new NebulaPoolConfig();
            nebulaPoolConfig.setMaxConnSize(512);
            List<HostAddress> addresses = Arrays.asList(new HostAddress("192.168.210.129", 9669));
            pool.init(addresses, nebulaPoolConfig);这个是Java client的设置)

你用的java client版本是什么,把错误堆栈信息截图下,还有看下服务端的状态。截图出来下,最好再贴下graphd的日志。


版本用的是2.0.0的

你在运行java client的主机 telnet 192.168.210.129 9669, 还有你有check NebulaPool init的返回结果吗?看是不是服务压根就连不上。

服务是连接上了的,在插入大量数据的时候就会出现这样的错误

在插入的时候为什么出现NebulaPoolConfig初始化失败呢?

那你看下服务端端状态,服务端是正常的吗?贴下/usr/local/nebula/logs/nebula-graphd.INFO的日志

什么意思?你截图吧

服务进程是在的是吧?我看是拿连接的时候失败了,是不是连接太多导致,你把连接数减少下。

我把连接数降到100,也是同样的错误

你把你的测试代码贴出来

nebula-graph-test.zip (375.2 KB)

已上传测试代码

我看了你的测试代码,假如你的服务端是虚拟机,你测试并发调小点,你的池的连接压根没用到,你调整下并发数量,还有你在最下面insert接口每次都初始化连接池和关闭连接池,这样连接开销很大,你可以复用连接的。

谢谢,已解决(还没有注意到是这个问题,一直以为是配置问题)

还有几个问题就在这个帖子上问了吧?
就我这样的虚拟机单机,插入性能能达到什么程度呀

没有做过虚拟机的测试。你测试的时候,假如服务没有任何报错,你可以不断调整batch数量和并发数来测试他插入的最快速度。

Graph服务配置里面num_netio_threads这个参数改变以后为什么不生效呀,我改变成2cpu处理数的两倍,但是不生效