cm066
1
记得按照下面模版提需求哟
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的日志。
你在运行java client的主机 telnet 192.168.210.129 9669
, 还有你有check NebulaPool init的返回结果吗?看是不是服务压根就连不上。
cm066
5
服务是连接上了的,在插入大量数据的时候就会出现这样的错误
cm066
8
在插入的时候为什么出现NebulaPoolConfig初始化失败呢?
那你看下服务端端状态,服务端是正常的吗?贴下/usr/local/nebula/logs/nebula-graphd.INFO的日志
服务进程是在的是吧?我看是拿连接的时候失败了,是不是连接太多导致,你把连接数减少下。
cm066
15
我看了你的测试代码,假如你的服务端是虚拟机,你测试并发调小点,你的池的连接压根没用到,你调整下并发数量,还有你在最下面insert接口每次都初始化连接池和关闭连接池,这样连接开销很大,你可以复用连接的。
cm066
18
谢谢,已解决(还没有注意到是这个问题,一直以为是配置问题)
cm066
19
还有几个问题就在这个帖子上问了吧?
就我这样的虚拟机单机,插入性能能达到什么程度呀
没有做过虚拟机的测试。你测试的时候,假如服务没有任何报错,你可以不断调整batch数量和并发数来测试他插入的最快速度。
cm066
21
Graph服务配置里面num_netio_threads这个参数改变以后为什么不生效呀,我改变成2cpu处理数的两倍,但是不生效