Installing Hazelcast Enterprise

To install Hazelcast Enterprise, you can use Docker, the binary, or Java. Then, to unlock the Enterprise features, you need to install your Enterprise license key.

Hazelcast Enterprise is a commercial product that offers additional features to the Open Source edition, including the security suite and blue/green deployments for clients. If you’re looking to get started with open source Hazelcast, see Installing Hazelcast Open Source.

Using the Enterprise Docker Image

  1. Install Docker.

  2. Check that Docker is correctly installed.

    docker version
  3. If you do not see a version number, see the Docker docs for troubleshooting information.

  4. Pull the Hazelcast Docker image from Docker Hub.

    docker pull hazelcast/hazelcast-enterprise:5.2.1
  5. Start the cluster.

Using the Enterprise Binary

Download and extract the binaries.

  • Mac

  • Linux

  • Windows

curl -L 'https://repository.hazelcast.com/download/hazelcast-enterprise/hazelcast-enterprise-5.2.1.tar.gz' | tar xvzf -
wget -O - 'https://repository.hazelcast.com/download/hazelcast-enterprise/hazelcast-enterprise-5.2.1.tar.gz' | tar xvzf -

Download and extract the Hazelcast ZIP file.

To start the cluster, see Start a Local Cluster from Binary.

Using Enterprise Java

To install Hazelcast with Java, you can use one of the following:

  • Maven

  • JAR file

  • Modular Java

Using Maven

Hazelcast runs on Java, which means you can add it as a dependency in your Java project.

The Java package includes both a member API and a Java client API. The member API is for embedded topologies where you want to deploy and manage a cluster in the same Java Virtual Machine (JVM) as your applications. The Java client is for connecting to an existing member in a client/server topology, such as Hazelcast Viridian Managed Services.

  1. Download and install a supported JDK.

    We recommend installing the AdoptOpenJDK.
  2. Add the following to your pom.xml file.

    <repositories>
        <repository>
            <id>private-repository</id>
            <name>Hazelcast Private Repository</name>
            <url>https://repository.hazelcast.com/release/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
    
    <dependencies>
        <dependency>
            <groupId>com.hazelcast</groupId>
            <artifactId>hazelcast-enterprise</artifactId>
            <version>5.2.1</version>
        </dependency>
    </dependencies>
  3. Start the cluster.

Using Modular Java

If you’re using JDK 11 or later, you can use Hazelcast as a module in the Java Platform Module System (JPMS).

To run your application with Hazelcast libraries on the modulepath, use the com.hazelcast.core for hazelcast-5.2.1.jar module name.

The JPMS comes with stricter visibility rules. It affects Hazelcast which uses the internal Java API to reach the best performance results.

Hazelcast needs the java.se module and access to the following Java packages:

  • java.base/jdk.internal.ref

  • java.base/java.nio (reflective access)

  • java.base/sun.nio.ch (reflective access)

  • java.base/java.lang (reflective access)

  • jdk.management/com.ibm.lang.management.internal (reflective access)

  • jdk.management/com.sun.management.internal (reflective access)

  • java.management/sun.management (reflective access)

You can provide access to these packages by using --add-exports and --add-opens (for reflective access) Java arguments.

Running a Member on the Classpath
java --add-modules java.se \
  --add-exports java.base/jdk.internal.ref=ALL-UNNAMED \
  --add-opens java.base/java.lang=ALL-UNNAMED \
  --add-opens java.base/java.nio=ALL-UNNAMED \
  --add-opens java.base/sun.nio.ch=ALL-UNNAMED \
  --add-opens java.management/sun.management=ALL-UNNAMED \
  --add-opens jdk.management/com.ibm.lang.management.internal=ALL-UNNAMED \
  --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED \
  -jar hazelcast-5.2.1.jar
Running a Member on the Modulepath
java --add-modules java.se \
  --add-exports java.base/jdk.internal.ref=com.hazelcast.core \
  --add-opens java.base/java.lang=com.hazelcast.core \
  --add-opens java.base/java.nio=com.hazelcast.core \
  --add-opens java.base/sun.nio.ch=com.hazelcast.core \
  --add-opens java.management/sun.management=com.hazelcast.core \
  --add-opens jdk.management/com.ibm.lang.management.internal=com.hazelcast.core \
  --add-opens jdk.management/com.sun.management.internal=com.hazelcast.core \
  --module-path lib \ (1)
  --module com.hazelcast.core/com.hazelcast.core.server.HazelcastMemberStarter
1 This example expects the hazelcast-5.2.1.jar file in the lib directory.

Getting an Enterprise License Key

Hazelcast Enterprise requires a license key. You can get a 30-day trial license from the Hazelcast website.

License keys have the following format:

<Hazelcast edition>#<Maximum members>#<License key>
  • <Hazelcast edition>: Name of the product.

  • <Maximum members>: Maximum number of members that may use the license at the same time.

  • <License key>: Machine-readable license key.

The first two strings up to the second hash (#) character are optional. These strings provide information about the license key. For example, both of the following formats are valid:

Full-form license
HazelcastEnterprise#2Nodes#1q2w3e4r5t
Short-form license
1q2w3e4r5t
These licenses are examples and will not work if you install them on members.

Installing an Enterprise License Key

To use Hazelcast Enterprise, you need to configure a license key on all members in a cluster.

Hazelcast Enterprise license keys are required only for members. You do not need to set a license key for Java clients that are connected to members.
  • XML

  • YAML

  • Java

  • Environment Variable

  • System Property

<hazelcast>
    <license-key>Your Enterprise License Key</license-key>
</hazelcast>
hazelcast:
  license-key: Your Enterprise License Key

Add your license to the setLicenseKey() method.

Config config = new Config();
config.setLicenseKey( "Your Enterprise License Key" );
HZ_LICENSEKEY=<Your Enterprise License Key>
-Dhazelcast.enterprise.license.key=<Your Enterprise License Key>