JGroups Instances通信

时间:2011-09-28 06:28:38

标签: jgroups

我有两台JGroups正在运行的机器。我面临的问题是,一旦在其中一台机器上创建了实例,几秒钟之后我就会启动其他实例。它们都是分开启动(相同群集),即它们不会一起加入群集。 10到15秒后,他们都会沟通并加入到一起。

此延迟导致我的商家在代码中出现问题... 在程序启动时也会抛出警告

警告:套接字java.net.MulticastSocket@5954864a的发送缓冲区设置为640KB,但操作系统仅分配135.17KB。这可能会导致性能问题。请在操作系统中正确设置最大发送缓冲区(例如Linux上的net.core.wmem_max)

这与问题有关吗?

3 个答案:

答案 0 :(得分:3)

  

你绝对需要增加这些值 - 否则就是UNICAST   几乎无法使用。

     

如果您不熟悉如何操作,请修改/etc/sysctl.conf   文件。这些是我在节点上的值。

     

JGroups UDP配置

     

net.core.rmem_max = 25480000

     

net.core.wmem_max = 25480000

     

要重新加载这些值,请发出" sysctl -p"以root身份强制重新加载   这个文件。

来源:http://comments.gmane.org/gmane.comp.java.javagroups.general/7922

答案 1 :(得分:1)

警告与您的问题无关,这只会导致性能问题,因为您的多播缓冲区的OS缓冲区很小。

关于您的问题:检查您的日志中是否有所有jgroups消息(不仅是警告)并检查它们的时间。并发布您的群集配置。

答案 2 :(得分:1)

通过更改此值(net.core.wmem_max)编辑/etc/sysctl.conf并运行“sysctl -p”