spring-boot - 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]
解决方案
异常消息You probably have too long Hazelcast configuration!
具有误导性。它已经在即将发布的 3.12 版本中修复。请参阅 Github PR Fix 多播发送失败时的异常消息。
实际失败是底层操作系统不允许多播发送。这主要是由并行发送多播数据报引起的。当您在同一主机上同时启动多个 Hazelcast 成员时,可能会发生这种情况。
欲了解更多信息;
推荐阅读
- python - 如何在 Python 中与 *args 一起传递附加参数
- svelte - Svelte.js 可以用于数据驱动的模板吗?
- lua - 正在运行的 tarantool 实例上覆盖配置
- vue.js - Azure AD B2C - 具有多个客户帐户的同一用户
- visual-studio-code - VSCode 是否不鼓励编辑已安装的插件?
- sql - 如何使用 SQL 从电话号码中获取区号?
- node.js - 成功加入后,我在哪里可以获得供应商条带帐户 url 页面?
- c++ - 如何获取当前DLL的目录
- c++ - C++ 双指针赋值
- python - 如何更改 kivymd 的 MdTextField 中的前景色?