Search code examples
javahazelcast

Hazelcast: disable clustering


I'm using Hazelcast on a java project, but I only use a single node and do not want any clustering. It's actually causing us issues when several dev instances discover each other and form a cluster.

Is there a way to fully disable clustering in the xml configuration?

Edit: I'm using Hazelcast 3.8.4, I've tried disabling multicast like so, but it looks like it's still enabled:

    <hz:hazelcast id="hazelcast">
        <hz:config>
            <hz:group name="dev" password="password"/>
            <hz:properties>
                <hz:property name="hazelcast.logging.type">slf4j</hz:property>
            </hz:properties>
            <hz:network port="5701" port-auto-increment="true">
                <hz:join>
                    <hz:multicast enabled="false"/>
                </hz:join>
            </hz:network>
            <hz:topic name="topicStuff"/>
        </hz:config>
    </hz:hazelcast>

Logs:

12:54:51,273 INFO  [com.hazelcast.hibernate.HazelcastLocalCacheRegionFactory] - Starting up HazelcastLocalCacheRegionFactory
12:54:51,284 INFO  [com.hazelcast.config.XmlConfigLocator] - Loading 'hazelcast-default.xml' from classpath.
12:54:51,398 INFO  [com.hazelcast.instance.DefaultAddressPicker] - [LOCAL] [dev] [3.8.4] Prefer IPv4 stack is true.
12:54:51,409 INFO  [com.hazelcast.instance.DefaultAddressPicker] - [LOCAL] [dev] [3.8.4] Picked [10.212.134.200]:5701, using socket ServerSocket[addr=/0:0:0:0:0:0:0:0,localport=5701], bind any local is true 
12:54:51,426 INFO  [com.hazelcast.system] - [10.212.134.200]:5701 [dev] [3.8.4] Hazelcast 3.8.4 (20170809 - 297a77e) starting at [10.212.134.200]:5701
12:54:51,426 INFO  [com.hazelcast.system] - [10.212.134.200]:5701 [dev] [3.8.4] Copyright (c) 2008-2016, Hazelcast, Inc. All Rights Reserved.
12:54:51,426 INFO  [com.hazelcast.system] - [10.212.134.200]:5701 [dev] [3.8.4] Configured Hazelcast Serialization version : 1
12:54:51,648 INFO  [com.hazelcast.spi.impl.operationservice.impl.BackpressureRegulator] - [10.212.134.200]:5701 [dev] [3.8.4] Backpressure is disabled
12:54:52,088 INFO  [com.hazelcast.instance.Node] - [10.212.134.200]:5701 [dev] [3.8.4] Creating MulticastJoiner
12:54:52,219 INFO  [com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl] - [10.212.134.200]:5701 [dev] [3.8.4] Starting 12 partition threads 
12:54:52,220 INFO  [com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl] - [10.212.134.200]:5701 [dev] [3.8.4] Starting 7 generic threads (1 dedicated for priority tasks)
12:54:52,241 INFO  [com.hazelcast.core.LifecycleService] - [10.212.134.200]:5701 [dev] [3.8.4] [10.212.134.200]:5701 is STARTING
12:54:54,286 INFO  [com.hazelcast.system] - [10.212.134.200]:5701 [dev] [3.8.4] Cluster version set to 3.8
12:54:54,289 INFO  [com.hazelcast.internal.cluster.impl.MulticastJoiner] - [10.212.134.200]:5701 [dev] [3.8.4] 


Members [1] {   Member [10.212.134.200]:5701 - 820072f4-f1ef-4a5e-9722-eb2bd038f37e this }

12:54:54,361 INFO  [com.hazelcast.core.LifecycleService] - [10.212.134.200]:5701 [dev] [3.8.4] [10.212.134.200]:5701 is STARTEDsdf

Solution

  • When no join method is enabled, Hazelcast starts in standalone mode. Prior to version 4.1, the default join method is multicast and when it's disabled, the member will start standalone:

    <network>
        <join>
            <multicast enabled="false"/>
        </join>
    </network>
    

    which yields the log:

    WARNING: [192.168.1.3]:5701 [dev] [4.0] No join method is enabled! Starting standalone.
    

    With version 4.1, this becomes

    <network>
        <join>
            <auto-detection enabled="false"/>
        </join>
    </network>