On-Premise

You can install and deploy Hazelcast using the options described in this section.

CLI

This is the fastest way of getting Hazelcast running. This option is for development purposes. For production setups please use the other deployment options explained on this page.

To install Hazelcast via command line interface, run the following commands:

  • Homebrew

  • Debian

  • RPM

brew tap hazelcast/hz
brew install hazelcast
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
wget https://repository.hazelcast.com/rpm/hazelcast-rpm.repo -O hazelcast-rpm.repo
sudo mv hazelcast-rpm.repo /etc/yum.repos.d/
sudo yum install hazelcast

Then, you can use the following command on your terminal/command line to start a standalone Hazelcast member:

hz start

For more information visit the GitHub repository of the Command Line Interface (CLI).

Maven

This option is the easiest way for Maven users (typically Java developers), especially appropriate for the embedded mode when Hazelcast is tightly coupled with the application.

As a prerequisite, make sure you have Java installed on your system. If you’re using JDK 11 or later, see Running in Modular Java. For the list of supported Java versions, see Supported Versions and Compatibilities.

You can find Hazelcast in standard Maven repositories. If your project uses Maven, you do not need to add additional repositories to your pom.xml or add hazelcast-5.0.5.jar file into your classpath (Maven does that for you). Just add the following lines to your pom.xml:

  • Hazelcast Open Source Edition

  • Hazelcast Enterprise Edition

<dependencies>
    <dependency>
        <groupId>com.hazelcast</groupId>
        <artifactId>hazelcast</artifactId>
        <version>5.0.5</version>
    </dependency>
</dependencies>
<repositories>
    <!-- You need to define following repository: -->
    <repository>
        <id>Hazelcast Private Release Repository</id>
        <url>https://repository.hazelcast.com/release/</url>
    </repository>
    <!-- Optional repository if you want to use latest snapshots -->
    <repository>
        <id>Hazelcast Private Snapshot Repository</id>
        <url>https://repository.hazelcast.com/snapshot/</url>
    </repository>
</repositories>

<dependencies>
    <!-- You also need to define following dependencies: -->
    <dependency>
        <groupId>com.hazelcast</groupId>
        <artifactId>hazelcast-enterprise</artifactId>
        <version>5.0.5</version>
    </dependency>
    <!-- Optional dependency for including JavaDoc -->
    <dependency>
        <groupId>com.hazelcast</groupId>
        <artifactId>hazelcast-enterprise</artifactId>
        <version>5.0.5</version>
        <classifier>javadoc</classifier>
    </dependency>
</dependencies>

Above dependencies (hazelcast and hazelcast-enterprise) include both member and Java client libraries of Hazelcast. A separate Java client module and dependency do not exist.

ZIP/TAR Packages

This option provides the most flexibility and all the tooling, but takes a little longer to install.

Hazelcast offers full and slim distribution packages:

  • The hazelcast-5.0.5 and hazelcast-enterprise-5.0.5 ZIP/TAR packages contain all Hazelcast Open Source and Enterprise features, respectively.

  • The hazelcast-5.0.5-slim and hazelcast-enterprise-5.0.5-slim ZIP/TAR packages exclude Management Center and connectors for distributed processing. You can use the slim version to save memory and later include the additional components.

    See the below section for the contents of each package.

As a prerequisite, make sure you have Java installed on your system. If you’re using JDK 11 or later, see Running in Modular Java. For the list of supported Java versions, see Supported Versions and Compatibilities.

You can download and install Hazelcast yourself. You only need to:

  • download the package hazelcast-5.0.5.zip or hazelcast-5.0.5.tar.gz from hazelcast.com

  • extract the downloaded package

  • and add the file hazelcast-5.0.5.jar to your classpath.

When you download and extract the Hazelcast ZIP or TAR package, you will see the hz-start and hz-stop scripts in the /bin directory. These scripts start/stop a Hazelcast member. See Start a Local Cluster from Binary to see the start scripts in action.

There are also some other scripts in the packages whose usage descriptions are given in their related sections including the hz-cluster-admin script, CP Subsystem Management APIs section and Using the hz-healthcheck Script sections. You can also check the full list of scripts in the readme.html which you can see when you extract the downloaded package.

Full and Slim Packages

The slim distribution package contains the following:

hazelcast-5.0.5-slim

├── LICENSE
├── NOTICE
├── bin
│   ├── common.sh
│   ├── hz-cli
│   ├── hz-cli.bat
│   ├── hz-cluster-admin
│   ├── hz-cluster-cp-admin
│   ├── hz-healthcheck
│   ├── hz-start
│   ├── hz-start.bat
│   ├── hz-stop
│   └── hz-stop.bat
├── config
│   ├── examples
│   │   ├── hazelcast-client-full-example.xml
│   │   ├── hazelcast-client-full-example.yaml
│   │   ├── hazelcast-client.yaml
│   │   ├── hazelcast-full-example.xml
│   │   ├── hazelcast-full-example.yaml
│   │   ├── hazelcast-security-hardened.yaml
│   │   └── hazelcast.yaml
│   ├── hazelcast-client.xml
│   ├── hazelcast.xml
│   ├── jmx_agent_config.yaml
│   ├── jvm-client.options
│   ├── jvm.options
│   └── log4j2.properties
├── lib
│   ├── cache-api-1.1.1.jar
│   ├── hazelcast-5.0.jar
│   ├── hazelcast-download.properties
│   ├── hazelcast-hibernate53-2.1.1.jar
│   ├── hazelcast-sql-5.0.jar
│   ├── hazelcast-wm-4.0.jar
│   ├── jansi-2.1.0.jar
│   ├── jline-reader-3.19.0.jar
│   ├── jline-terminal-3.19.0.jar
│   ├── jline-terminal-jansi-3.19.0.jar
│   ├── jmx_prometheus_javaagent-0.14.0.jar
│   ├── log4j-api-2.14.0.jar
│   ├── log4j-core-2.14.0.jar
│   ├── log4j-slf4j-impl-2.14.0.jar
│   ├── picocli-3.9.0.jar
│   └── slf4j-api-1.7.30.jar
└── licenses
    ├── THIRD-PARTY.txt
    ├── apache-v2-license.txt
    └── hazelcast-community-license.txt

The full distribution package contains the following:

hazelcast-5.0.5

├── LICENSE
├── NOTICE
├── bin
│   ├── common.sh
│   ├── hz-cli
│   ├── hz-cli.bat
│   ├── hz-cluster-admin
│   ├── hz-cluster-cp-admin
│   ├── hz-healthcheck
│   ├── hz-start
│   ├── hz-start.bat
│   ├── hz-stop
│   └── hz-stop.bat
├── config
│   ├── examples
│   │   ├── hazelcast-client-full-example.xml
│   │   ├── hazelcast-client-full-example.yaml
│   │   ├── hazelcast-client.yaml
│   │   ├── hazelcast-full-example.xml
│   │   ├── hazelcast-full-example.yaml
│   │   ├── hazelcast-security-hardened.yaml
│   │   └── hazelcast.yaml
│   ├── hazelcast-client.xml
│   ├── hazelcast.xml
│   ├── jmx_agent_config.yaml
│   ├── jvm-client.options
│   ├── jvm.options
│   └── log4j2.properties
├── custom-lib
│   ├── hazelcast-3-connector-impl-5.0.jar
│   ├── hazelcast-3.12.12.jar
│   └── hazelcast-client-3.12.12.jar
├── lib
│   ├── cache-api-1.1.1.jar
│   ├── hazelcast-3-connector-common-5.0.jar
│   ├── hazelcast-3-connector-interface-5.0.jar
│   ├── hazelcast-5.0.jar
│   ├── hazelcast-download.properties
│   ├── hazelcast-hibernate53-2.1.1.jar
│   ├── hazelcast-jet-avro-5.0.jar
│   ├── hazelcast-jet-cdc-debezium-5.0.jar
│   ├── hazelcast-jet-cdc-mysql-5.0.jar
│   ├── hazelcast-jet-cdc-postgres-5.0.jar
│   ├── hazelcast-jet-csv-5.0.jar
│   ├── hazelcast-jet-elasticsearch-7-5.0.jar
│   ├── hazelcast-jet-files-azure-5.0.jar
│   ├── hazelcast-jet-files-gcs-5.0.jar
│   ├── hazelcast-jet-files-s3-5.0.jar
│   ├── hazelcast-jet-grpc-5.0.jar
│   ├── hazelcast-jet-hadoop-all-5.0.jar
│   ├── hazelcast-jet-kafka-5.0.jar
│   ├── hazelcast-jet-kinesis-5.0.jar
│   ├── hazelcast-jet-protobuf-5.0.jar
│   ├── hazelcast-jet-python-5.0.jar
│   ├── hazelcast-jet-s3-5.0.jar
│   ├── hazelcast-sql-5.0.jar
│   ├── hazelcast-wm-4.0.jar
│   ├── jansi-2.1.0.jar
│   ├── jline-reader-3.19.0.jar
│   ├── jline-terminal-3.19.0.jar
│   ├── jline-terminal-jansi-3.19.0.jar
│   ├── jmx_prometheus_javaagent-0.14.0.jar
│   ├── log4j-api-2.14.0.jar
│   ├── log4j-core-2.14.0.jar
│   ├── log4j-slf4j-impl-2.14.0.jar
│   ├── picocli-3.9.0.jar
│   └── slf4j-api-1.7.30.jar
└── licenses
    ├── THIRD-PARTY.txt
    ├── apache-v2-license.txt
    └── hazelcast-community-license.txt