x 没有物理地址,在 jgroups 集群中节点重启时丢弃消息
No physical address for x, dropping message on node restart in jgroups cluster
当群集中的一个节点重新启动时,我的节点日志充满了 "Dropping unicast message to wrong destination" 的警告消息。
我们正在使用 Jgroups、TCP、jgroups-3.4 版本。1.Final。
我的服务器没有出现,这些警告消息传染性地抛出
以下是警告信息
[0;33mWARN [TransferQueueBundler,h-broadcast,h-13] [TCP] JGRP000032: h-13: 8281f201-7fb1-f6ac-faf3-d6837bc39087 没有物理地址,丢弃消息
[0;33mWARN [INT-1,h-broadcast,h-13] [TCP] JGRP000031: h-13: 将单播消息丢弃到错误的目的地 d205fcba-151c-ad58-8323-fe4f49117f88
请告诉我如何解决这个问题
谢谢,
尼维塔
<TCP loopback="true"
recv_buf_size="${tcp.recv_buf_size:20M}"
send_buf_size="${tcp.send_buf_size:640K}"
discard_incompatible_packets="true"
max_bundle_size="64K"
max_bundle_timeout="5"
enable_bundling="true"
use_send_queues="true"
sock_conn_timeout="300"
timer_type="new"
timer.min_threads="4"
timer.max_threads="10"
timer.keep_alive_time="3000"
timer.queue_max_size="500"
thread_pool.enabled="true"
thread_pool.min_threads="4"
thread_pool.max_threads="10"
thread_pool.keep_alive_time="5000"
thread_pool.queue_enabled="true"
thread_pool.queue_max_size="100000"
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="discard"
bind_addr="${hybris.jgroups.bind_addr}"
bind_port="${hybris.jgroups.bind_port}" />
<TCPPING timeout="3000"
initial_hosts="xxx.xx.xx.4[7800],xxx.xx.xx.5[7800],xxx.xx.xx.6[7800], xxx.xx.xx.7[7800], xxx.xx.xx.8[7800], xxx.xx.xx.9[7800], xxx.xx.xx.10[7800], xxx.xx.xx.11[7800], xxx.xx.xx.12[7800], xxx.xx.xx.13[7800], xxx.xx.xx.68[7800], xxx.xx.xx.69[7800], xxx.xx.xx.70[7800], xxx.xx.xx.4[7800], xxx.xx.xx.5[7800], xxx.xx.xx.6[7800]"
num_initial_members="16"/>
<MERGE2 min_interval="10000" max_interval="30000" />
<FD_SOCK />
<FD timeout="3000" max_tries="3" />
<VERIFY_SUSPECT timeout="1500" />
<BARRIER />
<pbcast.NAKACK use_mcast_xmit="false" exponential_backoff="500" discard_delivered_msgs="true" />
<UNICAST2 />
<pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000" max_bytes="4M" />
<pbcast.GMS print_local_addr="true" join_timeout="3000" view_bundling="true" />
<UFC max_credits="20M" min_threshold="0.4" />
<MFC max_credits="20M" min_threshold="0.4" />
<FRAG2 frag_size="60K" />
<pbcast.STATE_TRANSFER />
我假设您正在使用 TCP:TCPPING
?您是否在 TCPPING.initial_hosts
中列出 所有 成员?这是上述警告的最可能原因。
每个成员中都有一个将 UUID(JGroups 集群成员的内部表示)映射到物理地址的缓存。
您可以通过 JMX 或 probe.sh uuids
查看内容。 h13
中应该有 8281f201-7fb1-f6ac-faf3-d6837bc39087
的映射,但它丢失了。同样,很可能是因为 h13
未在 TCPPING
.
中列出
您可以尝试其他发现协议(例如,MPING
如果支持 IP 多播,FILE_PING
需要共享文件系统,TCPGOSSIP
需要外部查找服务等)。详情请查看手册。
非常感谢您的建议。
集群节点自我修复,当其中一个有问题的节点被关闭时(与其他能够远程登录的节点相比,它无法远程登录)
我这周遇到了这个问题,并且正在调整防火墙以使 JGroups 工作几天,直到今天,我将 JGroup 堆栈从“UDP”切换到“TCP”,突然所有问题都消失了。
当群集中的一个节点重新启动时,我的节点日志充满了 "Dropping unicast message to wrong destination" 的警告消息。 我们正在使用 Jgroups、TCP、jgroups-3.4 版本。1.Final。 我的服务器没有出现,这些警告消息传染性地抛出
以下是警告信息 [0;33mWARN [TransferQueueBundler,h-broadcast,h-13] [TCP] JGRP000032: h-13: 8281f201-7fb1-f6ac-faf3-d6837bc39087 没有物理地址,丢弃消息
[0;33mWARN [INT-1,h-broadcast,h-13] [TCP] JGRP000031: h-13: 将单播消息丢弃到错误的目的地 d205fcba-151c-ad58-8323-fe4f49117f88
请告诉我如何解决这个问题
谢谢, 尼维塔
<TCP loopback="true"
recv_buf_size="${tcp.recv_buf_size:20M}"
send_buf_size="${tcp.send_buf_size:640K}"
discard_incompatible_packets="true"
max_bundle_size="64K"
max_bundle_timeout="5"
enable_bundling="true"
use_send_queues="true"
sock_conn_timeout="300"
timer_type="new"
timer.min_threads="4"
timer.max_threads="10"
timer.keep_alive_time="3000"
timer.queue_max_size="500"
thread_pool.enabled="true"
thread_pool.min_threads="4"
thread_pool.max_threads="10"
thread_pool.keep_alive_time="5000"
thread_pool.queue_enabled="true"
thread_pool.queue_max_size="100000"
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="discard"
bind_addr="${hybris.jgroups.bind_addr}"
bind_port="${hybris.jgroups.bind_port}" />
<TCPPING timeout="3000"
initial_hosts="xxx.xx.xx.4[7800],xxx.xx.xx.5[7800],xxx.xx.xx.6[7800], xxx.xx.xx.7[7800], xxx.xx.xx.8[7800], xxx.xx.xx.9[7800], xxx.xx.xx.10[7800], xxx.xx.xx.11[7800], xxx.xx.xx.12[7800], xxx.xx.xx.13[7800], xxx.xx.xx.68[7800], xxx.xx.xx.69[7800], xxx.xx.xx.70[7800], xxx.xx.xx.4[7800], xxx.xx.xx.5[7800], xxx.xx.xx.6[7800]"
num_initial_members="16"/>
<MERGE2 min_interval="10000" max_interval="30000" />
<FD_SOCK />
<FD timeout="3000" max_tries="3" />
<VERIFY_SUSPECT timeout="1500" />
<BARRIER />
<pbcast.NAKACK use_mcast_xmit="false" exponential_backoff="500" discard_delivered_msgs="true" />
<UNICAST2 />
<pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000" max_bytes="4M" />
<pbcast.GMS print_local_addr="true" join_timeout="3000" view_bundling="true" />
<UFC max_credits="20M" min_threshold="0.4" />
<MFC max_credits="20M" min_threshold="0.4" />
<FRAG2 frag_size="60K" />
<pbcast.STATE_TRANSFER />
我假设您正在使用 TCP:TCPPING
?您是否在 TCPPING.initial_hosts
中列出 所有 成员?这是上述警告的最可能原因。
每个成员中都有一个将 UUID(JGroups 集群成员的内部表示)映射到物理地址的缓存。
您可以通过 JMX 或 probe.sh uuids
查看内容。 h13
中应该有 8281f201-7fb1-f6ac-faf3-d6837bc39087
的映射,但它丢失了。同样,很可能是因为 h13
未在 TCPPING
.
您可以尝试其他发现协议(例如,MPING
如果支持 IP 多播,FILE_PING
需要共享文件系统,TCPGOSSIP
需要外部查找服务等)。详情请查看手册。
非常感谢您的建议。 集群节点自我修复,当其中一个有问题的节点被关闭时(与其他能够远程登录的节点相比,它无法远程登录)
我这周遇到了这个问题,并且正在调整防火墙以使 JGroups 工作几天,直到今天,我将 JGroup 堆栈从“UDP”切换到“TCP”,突然所有问题都消失了。