JGroups 部署在2台server,其中一台更改数据本机可以收到消息,而另一台则收不到消息,日志也没报错,请大虾帮忙:
PS: 同样的配置在jGroups2.6.12.jar可以work,但在2.8.0-GA.jar却不work。配置:
<config>
<synchronization>
<enabled>true</enabled>
<jgroupsInit>
<![CDATA[
UDP(mcast_addr=239.190.1.95;mcast_port=32986;discard_incompatible_packets=true;enable_diagnostics=false;
max_bundle_size=60000;max_bundle_timeout=30;ip_ttl=32;enable_bundling=true;
use_concurrent_stack=true;thread_pool.enabled=true;thread_pool.min_threads=1;
thread_pool.max_threads=25;thread_pool.keep_alive_time=5000;
thread_pool.queue_enabled=false;thread_pool.queue_max_size=100;
thread_pool.rejection_policy=Run;oob_thread_pool.enabled=true;oob_thread_pool.min_threads=1;
oob_thread_pool.max_threads=8;oob_thread_pool.keep_alive_time=5000;oob_thread_pool.queue_enabled=false;
oob_thread_pool.queue_max_size=100;oob_thread_pool.rejection_policy=Run):
PING(timeout=2000;num_initial_members=3):
MERGE2(max_interval=30000;min_interval=10000):
FD_SOCK:FD(timeout=10000;max_tries=5;shun=true):
VERIFY_SUSPECT(timeout=1500):
pbcast.NAKACK(use_mcast_xmit=false;gc_lag=0;retransmit_timeout=300,600,1200,2400,4800;discard_delivered_msgs=true):
UNICAST(timeout=300,600,1200,2400,3600):
pbcast.STABLE(stability_delay=1000;desired_avg_gossip=50000;max_bytes=400000):
pbcast.GMS(print_local_addr=true;join_timeout=3000;shun=false;view_bundling=true):
FC(max_credits=20000000;min_threshold=0.10):
FRAG2(frag_size=59999):pbcast.STATE_TRANSFER
]]>
</jgroupsInit>
<groupName>csdn</groupName>
</synchronization>
</config>
PS: 同样的配置在jGroups2.6.12.jar可以work,但在2.8.0-GA.jar却不work。配置:
<config>
<synchronization>
<enabled>true</enabled>
<jgroupsInit>
<![CDATA[
UDP(mcast_addr=239.190.1.95;mcast_port=32986;discard_incompatible_packets=true;enable_diagnostics=false;
max_bundle_size=60000;max_bundle_timeout=30;ip_ttl=32;enable_bundling=true;
use_concurrent_stack=true;thread_pool.enabled=true;thread_pool.min_threads=1;
thread_pool.max_threads=25;thread_pool.keep_alive_time=5000;
thread_pool.queue_enabled=false;thread_pool.queue_max_size=100;
thread_pool.rejection_policy=Run;oob_thread_pool.enabled=true;oob_thread_pool.min_threads=1;
oob_thread_pool.max_threads=8;oob_thread_pool.keep_alive_time=5000;oob_thread_pool.queue_enabled=false;
oob_thread_pool.queue_max_size=100;oob_thread_pool.rejection_policy=Run):
PING(timeout=2000;num_initial_members=3):
MERGE2(max_interval=30000;min_interval=10000):
FD_SOCK:FD(timeout=10000;max_tries=5;shun=true):
VERIFY_SUSPECT(timeout=1500):
pbcast.NAKACK(use_mcast_xmit=false;gc_lag=0;retransmit_timeout=300,600,1200,2400,4800;discard_delivered_msgs=true):
UNICAST(timeout=300,600,1200,2400,3600):
pbcast.STABLE(stability_delay=1000;desired_avg_gossip=50000;max_bytes=400000):
pbcast.GMS(print_local_addr=true;join_timeout=3000;shun=false;view_bundling=true):
FC(max_credits=20000000;min_threshold=0.10):
FRAG2(frag_size=59999):pbcast.STATE_TRANSFER
]]>
</jgroupsInit>
<groupName>csdn</groupName>
</synchronization>
</config>
解决方案 »
- 抽象类跟接口
- java中实现链接
- 这是一个由Applet改成的JFrame的布局问题,请高人指点,谢了.
- 查个错误~~
- parseDouble返回的是double,为什么Double的封装器也能接受呀
- StringTokenizer 读文件,但文件中有\t如何处理
- 关于访问路由表、接口表
- label能显示文字内容,那么什么控件能显示html内容呢?
- 关于MAINFRAME的location定位
- 谁能告诉我,做一个象网易那样的聊天室,用什么方法,不要告诉我是用数据库或读写文件,是不是用多线程,socket协议。来讨论者皆有分。
- apache.commons.io.FileUtils怎么获得目录及所有子目录列表
- j2se程序 内存占用情况
It’ s caused by bind_addr, 101 and 103 both have vmware, and on 101 server type command ifconfig shows:
[root@xmlapi-remedy1 bin]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:15:17:0D:DA:12
inet addr:10.224.118.101 Bcast:10.224.118.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:46873435 errors:0 dropped:0 overruns:0 frame:0
TX packets:19680485 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:33923524573 (31.5 GiB) TX bytes:10429994201 (9.7 GiB)
Base address:0x2020 Memory:b8820000-b8840000 lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2584408 errors:0 dropped:0 overruns:0 frame:0
TX packets:2584408 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:295871444 (282.1 MiB) TX bytes:295871444 (282.1 MiB)vmnet1 Link encap:Ethernet HWaddr 00:50:56:C0:00:01
inet addr:172.16.65.1 Bcast:172.16.65.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:126 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)vmnet8 Link encap:Ethernet HWaddr 00:50:56:C0:00:08
inet addr:172.16.185.1 Bcast:172.16.185.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:12802 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
If we didn’t set bind_addr in JGroups settings, JGroups firstly create socket using vmnet8 inet addr: 172.16.185.1 not 10.224.118.101, so the messages can’t be sent.How to solve?
I add bind_addr=10.224.118.101, then it can work. But this is a temp way, I think it may has another way.
<jgroupsInit><![CDATA[
UDP(bind_addr=10.224.118.101;mcast_addr=239.190.1.1;mcast_port=32986;discard_incompatible_packets=true;enable_diagnostics=false;
max_bundle_size=60000;max_bundle_timeout=30;ip_ttl=5;enable_bundling=false;
use_concurrent_stack=true;thread_pool.enabled=true;thread_pool.min_threads=2;
thread_pool.max_threads=25;thread_pool.keep_alive_time=5000;
thread_pool.queue_enabled=true;thread_pool.queue_max_size=10000;
thread_pool.rejection_policy=discard;oob_thread_pool.enabled=true;oob_thread_pool.min_threads=1;
oob_thread_pool.max_threads=8;oob_thread_pool.keep_alive_time=5000;oob_thread_pool.queue_enabled=false;
oob_thread_pool.queue_max_size=100;oob_thread_pool.rejection_policy=Run):
PING(timeout=2000;num_initial_members=3):
MERGE2(max_interval=30000;min_interval=10000):
FD_SOCK:FD(timeout=10000;max_tries=5;shun=true):
VERIFY_SUSPECT(timeout=1500):
pbcast.NAKACK(use_mcast_xmit=false;gc_lag=0;retransmit_timeout=300,600,1200,2400,4800;discard_delivered_msgs=true):
UNICAST(timeout=300,600,1200,2400,3600):
pbcast.STABLE(stability_delay=1000;desired_avg_gossip=50000;max_bytes=400000):
pbcast.GMS(print_local_addr=true;join_timeout=3000;shun=false;view_bundling=true):
FC(max_credits=20000000;min_threshold=0.10):
FRAG2(frag_size=59999):pbcast.STATE_TRANSFER
]]></jgroupsInit>Something need to remove:
a. UDP use_concurrent_stack=true
b. FD shun=true
c. GMS shun=false
These are deprecated now.Something need to add:
UDP: ucast_recv_buf_size=20000000; ucast_send_buf_size=640000; mcast_recv_buf_size=25000000; mcast_send_buf_size=640000;
If the size more than OS buffer size, it will give WARN message, so we should add above properties under UDP, or we can execute following on OS:
sysctl -w net.core.rmem_max=83886088
sysctl -w net.core.wmem_max=8388608
sysctl -w net.core.rmem_default=65536888
sysctl -w net.core.wmem_default=65536888
sysctl -w net.ipv4.route.flush=1