上午看到這個例外在RHEL 7.3.1。在日誌中看到以下異常。的JGroups沒有加入任何羣RHEL上運行與我的代碼時形成的JGroups集羣鏈路本地IPv6地址
[DEBUG] 2017-10-03 20:23:01.339 [pool-10-thread-1] client.jgroups - Creating new Channel
[WARN ] 2017-10-03 20:23:01.342 [pool-10-thread-1] stack.Configurator - JGRP000014: TP.loopback has been deprecated: enabled by default
[DEBUG] 2017-10-03 20:23:01.343 [pool-10-thread-1] stack.Configurator - set property UDP.bind_addr to default value /fe80:0:0:0:2d57:389e:e4fe:9520%eth0
[DEBUG] 2017-10-03 20:23:01.345 [pool-10-thread-1] stack.Configurator - set property UDP.diagnostics_addr to default value /ff0e:0:0:0:0:0:75:75
[DEBUG] 2017-10-03 20:23:01.346 [pool-10-thread-1] client.jgroups - STATE OPEN
[DEBUG] 2017-10-03 20:23:01.347 [pool-10-thread-1] protocols.UDP - sockets will use interface fe80:0:0:0:2d57:389e:e4fe:9520%eth0
[ERROR] 2017-10-03 20:23:01.374 [pool-10-thread-1] client.jgroups - Catching
java.lang.Exception: failed to open a port in range 40000-40255
at org.jgroups.protocols.UDP.createDatagramSocketWithBindPort(UDP.java:500) ~[xxx-xxx.jar:2.0.1]
at org.jgroups.protocols.UDP.createSockets(UDP.java:361) ~[xxx-xxx.jar:2.0.1]
at org.jgroups.protocols.UDP.start(UDP.java:270) ~[xxx-xxx.jar:2.0.1]
at org.jgroups.stack.ProtocolStack.startStack(ProtocolStack.java:965) ~[xxx-xxx.jar:2.0.1]
at org.jgroups.JChannel.startStack(JChannel.java:891) ~[xxx-xxx.jar:2.0.1]
at org.jgroups.JChannel._preConnect(JChannel.java:553) ~[xxx-xxx.jar:2.0.1]
at org.jgroups.JChannel.connect(JChannel.java:288) ~[xxx-xxx.jar:2.0.1]
at org.jgroups.JChannel.connect(JChannel.java:279) ~[xxx-xxx.jar:2.0.1]
現在,相同的客戶端代碼在Ubuntu 14.04機器上完美運行。另外需要注意的是在這兩種情況下都不提供以下標誌。
-Djava.net.preferIPv4Stack=true
同樣在這兩種情況下都使用鏈路本地IPv6地址。 如何使在RHEL相同的代碼工作的?
添加以下信息,對於@bela-ban提問的問題: 嘗試config xml中的選項。
我都嘗試LINK_LOCAL & NON_LOOPBACK,但仍得到相同的錯誤。
的JGroups版本?
我正在使用JGroups的3.6.3-Final版本。
的省略IPv4的標誌
我們省略-Djava.net.preferIPv4Stack =真實的,因爲我們要測試我們的客戶在IPv6客戶端環境。
運行的ifconfig -a
而且運行ifconfig命令-a,給出了以下的輸出:
ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.66.194.103 netmask 255.255.252.0 broadcast 10.66.195.255
inet6 fe80::4b16:4a66:2bc3:c505 prefixlen 64 scopeid 0x20<link>
inet6 fe80::30cb:2f41:5e04:51c2 prefixlen 64 scopeid 0x20<link>
inet6 fe80::2d57:389e:e4fe:9520 prefixlen 64 scopeid 0x20<link>
ether 00:15:5d:b8:65:47 txqueuelen 1000 (Ethernet)
RX packets 8485475 bytes 1961303302 (1.8 GiB)
RX errors 0 dropped 109087 overruns 0 frame 0
TX packets 49088 bytes 4169469 (3.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 154252 bytes 11261136 (10.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 154252 bytes 11261136 (10.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
我讀過這個鏈接:http://www.techstacks.com/howto/troubleshoot-jgroups-and-multicast-ip-issues.html。但我不確定如何對鏈接本地地址應用相同的建議。 – eminemence