Installing Hazelcast Open Source

You can install the Open Source edition of Hazelcast, using the command line interface (CLI), Docker, the binary, or Java.

Looking for Hazelcast Enterprise? See Installing Hazelcast Enterprise.

Using a Package Manager

Hazelcast offers package managers for Linux and Mac operating systems.

Package managers are the fastest way of installing Hazelcast. This option is for development purposes and is only available for Hazelcast Open Source. For production, use the other deployment options explained on this page.

  1. To install Hazelcast, use one of the following methods, depending on your operating system:

    • Mac

    • Linux

    • Windows

    To install on macOS, use the Homebrew package manager.

    brew tap hazelcast/hz
    brew install hazelcast@5.1.3
    1. Check that you have the GNU Wget package installed. You’ll use Wget to download the GPG keys for the Hazelcast package.

      wget -V

      If you do not see a version number, download and install Wget.

    2. Use either of these package managers to install Hazelcast, depending on your Linux distribution:

      Debian
      wget -qO - https://repository.hazelcast.com/api/gpg/key/public | gpg --dearmor | sudo tee /usr/share/keyrings/hazelcast-archive-keyring.gpg > /dev/null
      echo "deb [signed-by=/usr/share/keyrings/hazelcast-archive-keyring.gpg] https://repository.hazelcast.com/debian stable main" | sudo tee -a /etc/apt/sources.list
      sudo apt update && sudo apt install hazelcast=5.1.3
      RPM
      wget https://repository.hazelcast.com/rpm/stable/hazelcast-rpm-stable.repo -O hazelcast-rpm-stable.repo
      sudo mv hazelcast-rpm-stable.repo /etc/yum.repos.d/
      sudo yum install hazelcast-5.1.3

    Hazelcast does not yet support any Windows package managers.

    To get started with Hazelcast on Windows, you can use Docker, the binary distribution, or Java.

  2. Check that Hazelcast is installed.

    hz -V

    You should see the version of both Hazelcast and the command-line client (CLI).

  3. Start the cluster.

For more information about the package manager, see the GitHub repository.

Using Docker

  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:5.1.3
  5. Start the cluster.

Using the Binary

Download the latest snapshot archive and extract the binaries.

  • Mac

  • Linux

  • Windows

  1. Download a package from hazelcast.com.

  2. Extract the downloaded package.

  1. Download a package from hazelcast.com.

  2. Extract the downloaded package.

  1. Download a package from hazelcast.com.

  2. Extract the downloaded package.

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

Using 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.

    <dependencies>
       <dependency>
           <groupId>com.hazelcast</groupId>
           <artifactId>hazelcast</artifactId>
           <version>5.1.3</version>
       </dependency>
    </dependencies>
  3. Start the cluster.

Using the JAR

If you aren’t using a build tool, download the Hazelcast JAR file and add it to your classpath.

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.1.3.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.1.3.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.1.3.jar file in the lib directory.

Next Steps

To continue learning about Hazelcast, start a local cluster, using Docker, the binary, or Java.