有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Hazelcast缓存打印过多日志(忽略[10.10.10.10]:5702中的连接检查,因为此节点不是主节点…)

我正在为我的应用程序使用Hazelcast缓存。 我在两台不同的机器上有两个Jboss节点。 每个节点有两个部署。 每个部署文件都有自己的hazelcast缓存

我想为每个应用程序在两个节点之间进行集群,下面是我的配置

Config config = new Config();
config.setClusterName("uniqueClusterName");
config.getNetworkConfig().getJoin().getTcpIpConfig().addMember("10.100.101.82,10.100.101.83").setEnabled(true);
config.getNetworkConfig().getJoin().getMulticastConfig().setEnabled(false);
manager = Hazelcast.newHazelcastInstance(config);

我上面的配置工作正常,两个节点都在每个应用程序上创建集群

但我发现了下面的日志,这些日志一直在打印

INFO  [com.hazelcast.internal.cluster.impl.operations.SplitBrainMergeValidationOp] (hz.cocky_jackson.priority-generic-operation.thread-0) [10.100.101.82]:5702 [losce_qa] [4.1] Ignoring join check from [10.100.101.83]:5702, because this node is not master...
INFO  [com.hazelcast.internal.cluster.impl.operations.SplitBrainMergeValidationOp] (hz.hungry_hofstadter.priority-generic-operation.thread-0) [10.100.101.82]:5701 [losce_qa] [4.1] Ignoring join check from [10.100.101.83]:5702, because this node is not master...
INFO  [com.hazelcast.internal.cluster.impl.operations.SplitBrainMergeValidationOp] (hz.cocky_jackson.generic-operation.thread-1) [10.100.101.82]:5702 [losce_qa] [4.1] Ignoring join check from [10.100.101.83]:5702, because this node is not master...

有工作吗?如何避免这些日志或我在这里做错了什么

短暂性脑缺血发作


共 (1) 个答案

  1. # 1 楼答案

    共享相同硬件的两个集群并不理想,因为它们争夺机器资源

    但是如果您这样做了,您就不希望它们发生冲突,这是默认端口分配的结果。默认情况下,尝试在端口5701上侦听,如果忙,则尝试5702,依此类推。并尝试寻找其他集群成员,假设他们也在5701上

    要使其发挥作用:

    (1)像你所做的那样,给他们起唯一的名字

    config.setClusterName("uniqueClusterName");
    

    &

    config.setClusterName("uniqueClusterName2");
    

    由于它们具有不同的群集名称,来自一个群集的成员将无法 加入另一个。这不会阻止他们尝试,这会导致不需要的日志消息

    (2)分配可预测的端口

    试一试

    config.getNetworkConfig().setPort(6701);
    

    &

    config.getNetworkConfig().setPort(7701);
    

    他们都会尝试从不同的偏移量开始寻找端口,这将允许可预测性

    如果不这样做,两个集群将尝试使用默认的5701作为第一个端口,并且无论哪个集群首先启动,都将成功

    这样,第一个集群的成员将尝试并应该成功获得6701。第二个集群的成员将尝试并应成功获得7701

    (3)指定连接尝试的地址和端口

    试一试

    config.getNetworkConfig().getJoin().getTcpIpConfig()
    .addMember("10.100.101.82:6701,10.100.101.83:6701")
    

    config.getNetworkConfig().getJoin().getTcpIpConfig()
    .addMember("10.100.101.82:7701,10.100.101.83:7701")