nebula集群,数据写入的时候流量只会打到一台机器的graphd服务上

集群配置:
10.0.0.1 graph、storage
10.0.0.2 graph、storage
10.0.0.3 graph、storage、meta
10.0.0.4 graph、storage、meta
10.0.0.5 graph、storage、meta

Java代码:

NebulaPoolConfig nebulaPoolConfig = new NebulaPoolConfig();
                       nebulaPoolConfig.setMaxConnSize(10);
                       List<HostAddress> hostAddresses = Arrays.asList(
                               new HostAddress("10.0.0.1", 8020),
                               new HostAddress("10.0.0.2", 8020),
                               new HostAddress("10.0.0.3", 8020),
                               new HostAddress("10.0.0.4", 8020),
                               new HostAddress("10.0.0.5", 8020)
                               );
                       NebulaPool pool = new NebulaPool();
                       pool.init(hostAddresses, nebulaPoolConfig);
                       session = pool.getSession("root", "xxx", false);

异常现象: 集群压测,写入实时数据,流量只会打到一台机器上的graphd服务,其他四台graphd 服务cpu几乎为0


只用一个session去写入的话,是会打到一台机器的。
你可以多getSession 用不同的session去写入


我的压测脚本,本来就是每次获取session,一个脚本有可能只拿到了第一台,但是我多个脚本不能总不能也是一直拿到第一台机器吧,这也太巧了

多个脚本如果你的代码都是一样的,那都会一开始拿到 graph address 列表中的第一个。 你可以把你传入的graph地址打乱下顺序

Collections.shuffle(addressList)

每个schema的有默认的ttl吗

默认的应该是不过期

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