我在创建客户端时添加了3个trasportclient节点。
Settings settings = ImmutableSettings.settingsBuilder()
.put("cluster.name", clusterName)
.put("client.transport.sniff", true)
.build();
TransportClient client = new TransportClient(settings);
client.addTransportAddresses(new InetSocketTransportAddress(esHost1, esPort1));
client.addTransportAddresses(new InetSocketTransportAddress(esHost2, esPort2));
client.addTransportAddresses(new InetSocketTransportAddress(esHost3, esPort3));
请注意,esHost1和esHost2已关闭。但是esHost3正在运行。但是,当我尝试连接到客户端并执行操作时,它会给出NoNodeAvailableException。根据每个动作的循环逻辑,我期望如下所示:
所以现在我开始认为Round Robin实际上是针对动作的,但是如果存在NoNodeAvailableException则不会。这是对的吗?