Installing Hazelcast Community Edition

You can install the Community Edition of Hazelcast, using the command line interface (CLI), Docker, the binary, or Java.

These instructions apply only to the Community Edition. If you have a license, which allows you to take advantage of the additional features offered by Enterprise Edition, follow the instructions in the Installing Hazelcast Enterprise Edition topic.

We recommend that you learn more about the benefits of an Enterprise Edition license to ensure that you do not require any of the additional functionality or support before you install Community Edition. If you continue with the Community Edition installation, you can move your Community Edition members to Enterprise Edition at any time if you subsequently want to benefit from the Enterprise Edition functionality without downtime.

For further information on the available Enterprise Edition features and on moving members from an Community Edition cluster to a target Enterprise Edition cluster, see Move to Enterprise Edition from Community Edition.

Distributions

Both slim and full distributions are available. For further information on the available editions and distributions, see the Hazelcast Editions and Distributions topic.

You must use one of the following installation methods if you want to install the slim distribution:

To install a slim distribution, append -slim to the version number in the commands shown in the following sections; for example, to install the slim distribution of 5.5.0, use 5.5.0-slim.

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 Community Edition. 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.5.0
    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.5.0
      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.5.0

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

  1. Download and install a supported JDK.

  2. Add the following to your pom.xml file.

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

Using the JAR

If you aren’t using a build tool:

Using Modular Java

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

Next Steps

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