1
我正在嘗試使用TCP傳輸配置Infinispan。當TCPPING.initialHost包含多個主機時,Infinispan/JGroups羣集連接失敗
如果在TCPPING.initialHosts
我列出了所有潛在的集羣節點,集羣根本沒有連接 - 大約有15個潛在節點,其中大多數是死的,通常只有2或3個活着。
但是,如果在TCPPING.initialHosts
我只列出2-3個主機的列表,則集羣已成功創建。
我該怎麼做?
更新:據我在日誌和堆棧跟蹤中看到的,活動節點之間的連接被創建並且節點交換一些消息。但是,羣集還沒有形成。
更新:下面是創建的代碼JChannel
:
JChannel ch = new JChannel(false);
ProtocolStack stack = new ProtocolStack();
ch.setProtocolStack(stack);
// TCPPING is responsible for discovery
TCPPING tcpping = new TCPPING();
List<IpAddress> initial_hosts = ... // get lists of hosts, list can be quite big
tcpping.setInitialHosts(initial_hosts);
tcpping.setErgonomics(false);
tcpping.setPortRange(0);
tcpping.setNumInitialMembers(3);
TCP tcp = new TCP();
tcp.setBindAddress(InetAddress.getByName(server.getHostName()));
tcp.setBindPort(server.getPort());
tcp.setThreadPoolMaxThreads(30);
tcp.setOOBThreadPoolMaxThreads(30);
NAKACK nakack = new NAKACK();
nakack.setUseMcastXmit(false);
nakack.setDiscardDeliveredMsgs(false);
MERGE2 merge = new MERGE2();
RSVP rsvp = new RSVP();
rsvp.setValue("timeout", 60 * 1000);
rsvp.setValue("resend_interval", 500);
rsvp.setValue("ack_on_delivery", false);
stack
.addProtocol(tcp)
.addProtocol(tcpping)
.addProtocol(merge)
.addProtocol(new FD_SOCK())
.addProtocol(new FD())
.addProtocol(new VERIFY_SUSPECT())
.addProtocol(nakack)
.addProtocol(new UNICAST2())
.addProtocol(new STABLE())
.addProtocol(new GMS())
.addProtocol(new UFC())
.addProtocol(new MFC())
.addProtocol(new FRAG2())
.addProtocol(rsvp);
stack.init();
return ch;
你能不能粘貼你的jgroups配置xml? –
我從代碼創建JChannel。代碼添加到帖子中。 – Tarlog