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 6.0.0-SNAPSHOT, use 6.0.0-SNAPSHOT-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.
-
To install Hazelcast, use one of the following methods, depending on your operating system:
To install on macOS, use the Homebrew package manager.
brew tap hazelcast/hz brew install hazelcast@6.0.0-SNAPSHOT
-
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.
-
Use either of these package managers to install Hazelcast, depending on your Linux distribution:
Debianwget -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 snapshot main" | sudo tee -a /etc/apt/sources.list sudo apt update && sudo apt install hazelcast
RPMwget https://repository.hazelcast.com/rpm/snapshot/hazelcast-rpm.repo -O hazelcast-snapshot-rpm.repo sudo mv hazelcast-snapshot-rpm.repo /etc/yum.repos.d/ sudo yum install hazelcast
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.
-
-
Check that Hazelcast is installed.
hz -V
You should see the version of both Hazelcast and the command-line client (CLI).
For more information about the package manager, see the GitHub repository.
Using Docker
-
Check that Docker is correctly installed.
docker version
-
If you do not see a version number, see the Docker docs for troubleshooting information.
Using the Binary
Download the latest snapshot archive and extract the binaries.
Go to the snapshot repository and click the download link for the TAR file that has the most up-to-date timestamp in the Last Modified columns.
Go to the snapshot repository and click the download link for the TAR file that has the most up-to-date timestamp in the Last Modified columns.
Go to the snapshot repository and click the download link for the ZIP file that has the most up-to-date timestamp in the Last Modified columns.
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.
-
Download and install a supported JDK.
-
Add the following to your
pom.xml
file.<repositories> <repository> <id>snapshot-repository</id> <name>Maven2 Snapshot Repository</name> <url>https://oss.sonatype.org/content/repositories/snapshots</url> <releases> <enabled>false</enabled> </releases> </repository> </repositories> <dependencies> <dependency> <groupId>com.hazelcast</groupId> <artifactId>hazelcast</artifactId> <version>6.0.0-SNAPSHOT</version> </dependency> </dependencies>
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-6.0.0-SNAPSHOT.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.
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-6.0.0-SNAPSHOT.jar
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-6.0.0-SNAPSHOT.jar file in the lib directory. |
Next Steps
To continue learning about Hazelcast, start a local cluster, using Docker, the binary, or Java.