GridGain Developers Hub

Installing and Starting GridGain

This chapter explains system requirements for running GridGain, how to install GridGain, and how to start a GridGain node.

Since GridGain is built on top of Apache Ignite, GridGain reuses Ignite’s system properties, environment properties, startup scripts, etc. wherever possible.

Prerequisites

This section describes the platform requirements for machines running GridGain. GridGain system requirements scale depending on the size of the cluster.

JDK

Oracle JDK 8, 11, 17 or 21

OS

Linux (any flavor), Windows (10 and up). For Docker environment, we provide Linux docker containers.

ISA

x86-64, SPARC, PowerPC

Network

No restrictions (10G recommended)

If you use Java version 11 or later, see Running GridGain with Java 11 or later for details.

Running GridGain with Java 11 or later

To run GridGain with Java 11 or later:

  • Set the JAVA_HOME environment variable to point to the Java installation directory.

  • Pass specific flags to JVM to make proprietary SDK APIs available. These APIs If you use the start-up script ignite.sh (or ignite.bat for Windows), you do not need to do anything because these flags are already set up in the script. Otherwise, provide the following parameters to the JVM of your application:

    --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED
    --add-exports=java.base/sun.nio.ch=ALL-UNNAMED
    --add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED
    --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED
    --add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED
    --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED
    --illegal-access=permit
    --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED
    --add-opens=java.base/sun.nio.ch=ALL-UNNAMED
    --add-opens=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED
    --add-opens=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED
    --add-opens=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED
    --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED
    --add-opens=java.base/java.io=ALL-UNNAMED
    --add-opens=java.base/java.nio=ALL-UNNAMED
    --add-opens=java.base/java.util=ALL-UNNAMED
    --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
    --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED
    --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED
    --add-opens=java.base/java.lang=ALL-UNNAMED
    --add-opens=java.base/java.lang.invoke=ALL-UNNAMED
    --add-opens=java.base/java.math=ALL-UNNAMED
    --add-opens=java.sql/java.sql=ALL-UNNAMED
    --add-opens=java.base/java.net=ALL-UNNAMED
    --add-opens=java.base/java.security.cert=ALL-UNNAMED
    --add-opens=java.base/sun.security.x509=ALL-UNNAMED
    --add-opens=java.base/sun.security.ssl=ALL-UNNAMED

Installation

GridGain is available in three editions: Community Edition (CE), Enterprise Edition (EE) and Ultimate Edition (UE). For this example, we’ll use the GridGain CE, which is distributed as binary, docker, and cloud images, and via RPM/DEB. This chapter explains how to install the GridGain CE binary distribution.

To get started with the GridGain CE binary distribution:

  1. Download the GridGain binary as a zip archive.

  2. Unzip the zip archive into the installation folder in your system.

  3. Move the ignite-rest-http folder from {gridgain}/libs/optional to {gridgain}/libs to enable the Ignite REST library for the cluster. The library is used by GridGain Nebula for cluster management and monitoring needs.

  4. (Optional) Enable required modules.

  5. (Optional) Set the IGNITE_HOME environment variable or Windows PATH to point to the installation folder and make sure there is no trailing / (or \ for Windows) in the path.

Starting a GridGain Node

You can start a GridGain node from the command line using the default configuration or by passing a custom configuration file. You can start as many nodes as you like and they will all automatically discover each other.

With Default Configuration

To start a GridGain node with the default configuration, open the command shell and, assuming you are in GridGain installation directory, run this from the command line:

$ bin/ignite.sh
$ bin\ignite.bat

You will see output similar to this:

[02:49:12] Ignite node started OK (id=ab5d18a6)
[02:49:12] Topology snapshot [ver=1, nodes=1, CPUs=8, heap=1.0GB]

By default, ignite.sh|bat starts a node with the default configuration file: config/default-config.xml.

With Custom Configuration

To start a GridGain node with a custom configuration file, open the command shell and, assuming you are in IGNITE_HOME (the GridGain installation folder), pass the configuration file as a parameter to ignite.sh|bat as follows:

$ bin/ignite.sh examples/config/example-ignite.xml
$ bin\ignite.bat examples\config\example-ignite.xml

You will see output similar to this:

[02:49:12] Ignite node started OK (id=ab5d18a6)
[02:49:12] Topology snapshot [ver=1, nodes=1, CPUs=8, heap=1.0GB]

Congratulations! You’ve just launched your first GridGain cluster.