首页 > 解决方案 > Spring Boot 应用程序中的 HazelCast 抛出您可能有太长的 Hazelcast 配置的错误

问题描述

2019-01-09 09:29:04.290 WARN [api-gateway-server,,,] 1 --- [cached.thread-3] chicluster.impl.MulticastService : [10.255.7.232]:5701 [dev] [3.8 .9] 你可能有太长的 Hazelcast 配置!

java.io.IOException:不允许操作

at java.base/java.net.PlainDatagramSocketImpl.send(Native Method) ~[na:na]


at java.base/java.net.DatagramSocket.send(DatagramSocket.java:695) ~[na:na]


at com.hazelcast.internal.cluster.impl.MulticastService.send(MulticastService.java:252) ~[hazelcast-3.8.9.jar!/:3.8.9]


at com.hazelcast.internal.cluster.impl.MulticastJoiner.searchForOtherClusters(MulticastJoiner.java:112) ~[hazelcast-3.8.9.jar!/:3.8.9]


at com.hazelcast.internal.cluster.impl.SplitBrainHandler.searchForOtherClusters(SplitBrainHandler.java:75) ~[hazelcast-3.8.9.jar!/:3.8.9]


at com.hazelcast.internal.cluster.impl.SplitBrainHandler.run(SplitBrainHandler.java:42) ~[hazelcast-3.8.9.jar!/:3.8.9]


at com.hazelcast.spi.impl.executionservice.impl.DelegateAndSkipOnConcurrentExecutionDecorator$DelegateDecorator.run(DelegateAndSkipOnConcurrentExecutionDecorator.java:66) ~[hazelcast-3.8.9.jar!/:3.8.9]


at com.hazelcast.util.executor.CachedExecutorServiceDelegate$Worker.run(CachedExecutorServiceDelegate.java:227) ~[hazelcast-3.8.9.jar!/:3.8.9]


at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]


at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]


at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]


at com.hazelcast.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:64) ~[hazelcast-3.8.9.jar!/:3.8.9]


at com.hazelcast.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:80) ~[hazelcast-3.8.9.jar!/:3.8.9]

2019-01-09 09:29:06.949 WARN [api-gateway-server,,,] 1 --- [cached.thread-5] chicluster.impl.MulticastService : [10.255.7.232]:5702 [dev] [3.8 .9] 你可能有太长的 Hazelcast 配置!

java.io.IOException:不允许操作

at java.base/java.net.PlainDatagramSocketImpl.send(Native Method) ~[na:na]


at java.base/java.net.DatagramSocket.send(DatagramSocket.java:695) ~[na:na]


at com.hazelcast.internal.cluster.impl.MulticastService.send(MulticastService.java:252) ~[hazelcast-3.8.9.jar!/:3.8.9]


at com.hazelcast.internal.cluster.impl.MulticastJoiner.searchForOtherClusters(MulticastJoiner.java:112) ~[hazelcast-3.8.9.jar!/:3.8.9]


at com.hazelcast.internal.cluster.impl.SplitBrainHandler.searchForOtherClusters(SplitBrainHandler.java:75) ~[hazelcast-3.8.9.jar!/:3.8.9]


at com.hazelcast.internal.cluster.impl.SplitBrainHandler.run(SplitBrainHandler.java:42) ~[hazelcast-3.8.9.jar!/:3.8.9]


at com.hazelcast.spi.impl.executionservice.impl.DelegateAndSkipOnConcurrentExecutionDecorator$DelegateDecorator.run(DelegateAndSkipOnConcurrentExecutionDecorator.java:66) ~[hazelcast-3.8.9.jar!/:3.8.9]


at com.hazelcast.util.executor.CachedExecutorServiceDelegate$Worker.run(CachedExecutorServiceDelegate.java:227) ~[hazelcast-3.8.9.jar!/:3.8.9]


at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]


at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]


at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]


at com.hazelcast.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:64) ~[hazelcast-3.8.9.jar!/:3.8.9]


at com.hazelcast.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:80) ~[hazelcast-3.8.9.jar!/:3.8.9]

2019-01-09 09:29:09.387 WARN [api-gateway-server,,,] 1 --- [cached.thread-1] chicluster.impl.MulticastService : [10.255.7.232]:5703 [dev] [3.8 .9] 你可能有太长的 Hazelcast 配置!

java.io.IOException:不允许操作

at java.base/java.net.PlainDatagramSocketImpl.send(Native Method) ~[na:na]


at java.base/java.net.DatagramSocket.send(DatagramSocket.java:695) ~[na:na]


at com.hazelcast.internal.cluster.impl.MulticastService.send(MulticastService.java:252) ~[hazelcast-3.8.9.jar!/:3.8.9]


at com.hazelcast.internal.cluster.impl.MulticastJoiner.searchForOtherClusters(MulticastJoiner.java:112) ~[hazelcast-3.8.9.jar!/:3.8.9]


at com.hazelcast.internal.cluster.impl.SplitBrainHandler.searchForOtherClusters(SplitBrainHandler.java:75) ~[hazelcast-3.8.9.jar!/:3.8.9]


at com.hazelcast.internal.cluster.impl.SplitBrainHandler.run(SplitBrainHandler.java:42) ~[hazelcast-3.8.9.jar!/:3.8.9]


at com.hazelcast.spi.impl.executionservice.impl.DelegateAndSkipOnConcurrentExecutionDecorator$DelegateDecorator.run(DelegateAndSkipOnConcurrentExecutionDecorator.java:66) ~[hazelcast-3.8.9.jar!/:3.8.9]


at com.hazelcast.util.executor.CachedExecutorServiceDelegate$Worker.run(CachedExecutorServiceDelegate.java:227) ~[hazelcast-3.8.9.jar!/:3.8.9]


at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]


at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]


at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]


at com.hazelcast.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:64) ~[hazelcast-3.8.9.jar!/:3.8.9]


at com.hazelcast.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:80) ~[hazelcast-3.8.9.jar!/:3.8.9]

标签: spring-boothazelcast

解决方案


异常消息You probably have too long Hazelcast configuration!具有误导性。它已经在即将发布的 3.12 版本中修复。请参阅 Github PR Fix 多播发送失败时的异常消息

实际失败是底层操作系统不允许多播发送。这主要是由并行发送多播数据报引起的。当您在同一主机上同时启动多个 Hazelcast 成员时,可能会发生这种情况。

欲了解更多信息;


推荐阅读